0
我已經寫了一個小程序,它掛鉤到鍵盤並更改按鍵上的註冊表值。這裏是回調代碼:註冊表值沒有保存在按鍵上
LRESULT WINAPI keyDownEvent(int nCode, WPARAM wParam, LPARAM lParam)
{
if ((wParam == WM_SYSKEYDOWN) || (wParam == WM_KEYDOWN))
{
KBDLLHOOKSTRUCT kbdStruct = *(((KBDLLHOOKSTRUCT *) lParam));
if ((kbdStruct.vkCode == VK_LWIN) || (kbdStruct.vkCode == VK_RWIN))
{
RegSetValueEx(key, TEXT("MakeAllAppsDefault"), NULL, REG_DWORD, (const BYTE*) DISABLE_APPS_VIEW, sizeof(DISABLE_APPS_VIEW)); // Set value to 0 (OFF)
}
}
return CallNextHookEx(NULL, nCode, wParam, lParam); // Pass info to next hook procedure
}
從函數RegSetValueEx == ERROR_SUCCESS返回值,這意味着該值被設定,但是當我打開註冊表,該值仍然是相同的。有什麼我做錯了嗎?
DWORD DISABLE_APPS_VIEW = 0;
DWORD ENABLE_APPS_VIEW = 1;
什麼是DISABLE_APPS_VIEW和ENABLE_APPS_VIEW? –
@JonathanPotter: 'DWORD DISABLE_APPS_VIEW = 0;' 'DWORD ENABLE_APPS_VIEW = 1;' – noobprohacker
看起來你並沒有將它們的**地址**傳遞給'RegSetValueEx'。 –