Windows7 と Win64 は新しいプラットフォームであり、プログラミングに関しては、何が起こったのかわかりません。次のコマンドを使用して Windows7 64 ビットの Windows レジストリにキーを保存します。問題は、同じコードが REG_OPENED_EXISTING_KEY の戻り値を返すことができることです。これは、キーの作成が成功し、関数が後続の呼び出しでキーを読み取ったり開いたりできることを意味しますが、regedit.exe の場所でキーを見つけようとすると、単に表示されません。 HKLM_LOCAL_MACHINE/Software/MyProject にも HKLM_LOCAL_MACHINE/Software/Wow6432Node/MyProject にもないツリー
ここで何が起こっているのか、誰でもクリアできますか?
HKEY hKey ;
HKEY key = HKEY_LOCAL_MACHINE;
DWORD disValue ;
string subKey = "Software\\MyProject\\";
LONG retValue = RegCreateKeyEx( key, subKey.c_str(), 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, &hKey, &disValue ) ;
if ( retValue == ERROR_SUCCESS )
{
if ( disValue == REG_CREATED_NEW_KEY )// new key created. This value will change to REG_OPENED_EXISTING_KEY if the key already existed, the function then simply open the key.
return true;
return false;
}