此代碼的目的是添加或編輯KeyboardDelay REG_SZ的值。我能做的是將其值設爲0,但是當我嘗試將其設置爲31時,它失敗了,並且一個奇怪的「盒子」出現在KeyboardDelays數據值而不是數字31.我做錯了什麼,因爲它不會添加31,但它會做0嗎?C++ REG_SZ值添加失敗
HKEY key;
if (RegOpenKey(HKEY_CURRENT_USER, TEXT("Control Panel\\Keyboard"), &key) != ERROR_SUCCESS)
{
cout << "Unable to open registry key";
}
if (RegSetValueEx(key, TEXT("KeyboardDelay"), 0, REG_SZ, (LPBYTE)"31", strlen("31")*sizeof(char)) != ERROR_SUCCESS)
{
RegCloseKey(key);
cout <<"Unable to set registry value value_name";
}
else
{
cout << "KeyboardDelay was set" << endl;
}
使用TEXT的是混淆你。使用寬字符文字編寫Unicode代碼並停止使用這些允許您爲Windows 98編譯的宏! –