-2
初めてを開くことができないので、私はホームページのREGキーを変更するための小さなプログラムを書くためにしようとしているは、なぜ私が質問をして、私のレジストリキー
...私は右のそれをやっている願っています私はそれを実行するたびに、キーの場所が開いていないというエラーが表示されます。なぜどんなアイデア? (管理者で実行してみました)
//this string array will be the value for the new home page (w/ null termination)
char newHomePage[] = "https://www.youtube.com/watch?v=gwJ_LgYYvpU \0";
HKEY homePageKey = NULL; //handle for the key once opened
//Open reg key we wish to change, if this fails then abort
//reg key for home page
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"\\SOFTWARE\\Microsoft\\Internet Explorer\\Main", 0, KEY_SET_VALUE, &homePageKey) == ERROR_SUCCESS)
{
printf("Key location open successful \n");
if (RegSetValueExW(homePageKey, L"Start Page", 0, REG_SZ, (LPBYTE)&newHomePage, sizeof(char)) == ERROR_SUCCESS)
{
printf("Key changed in registry \n");
}
else
{
printf("Key not changed in registry \n");
printf("Error %u ", (unsigned int)GetLastError());
}
RegCloseKey(homePageKey);
}
else
{
printf("Error: %u \n", (unsigned int)GetLastError());
printf("Key location open UNsuccessful \n");
system("pause");
RegCloseKey(homePageKey);
return 0;
}
return 0;
を私はあなたが 'RegOpenKeyExW()'の戻り値を調べることができるように2行にあれば最初の文を破る示唆しています。これはあなたに問題の手がかりを与えるかもしれません。 –
なぜGetLastErrorを呼びますか?ドキュメンテーションはそれについて言及していない。それは言う:*関数が失敗した場合、戻り値はWinerror.hで定義された非ゼロエラーコードです*。 –
[RegOpenKeyExがHKEY \ _LOCAL \ _MACHINEで失敗する可能性があります]の複製(https://stackoverflow.com/questions/820846/regopenkeyex-fails-on-hkey-local-machine) –