C++ Win32APIアプリケーションを使用してWindows Defenderを無効にしようとしています。 これを行うには、Dワードをレジストリに書き込む必要があります(DisableAntiSpyware = 1)。 私はいつも新しいWindowsをインストールした後にそれを手動で行います。 私のコードはここにありますが、動作しません。 誰かが私になぜそれが間違っているか教えてくれるかもしれません。ありがとうございました!C++のWindowsレジストリに32ビットD-Wordを書き込む方法
OK、私はまだ働いていない、コードビット変更した...
case 1:
//::MessageBeep(MB_ICONERROR);
::MessageBox(hWnd, L"Button was Pressed",L"Button was clicked?",MB_OK);
LONG
SetRegValue
(
const wchar_t* path
, const wchar_t *name
, const BYTE *value
);
{
LONG status;
HKEY hKey;
DWORD value = 0x00000001;
status = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"\\SOFTWARE\\Policies\\Microsoft\\Windows Defender", 0, KEY_ALL_ACCESS, &hKey);
if ((status == ERROR_SUCCESS) && (hKey != NULL))
{
status = RegSetValueEx(hKey, L"test", 0, REG_DWORD, (const BYTE*)&value,sizeof(value));
RegCloseKey(hKey);
}
return status;
::MessageBeep(MB_ICONERROR);
}
}
}
break;
「動作しない」問題の技術的な説明ではありません。
この代わりのようにもっと何かを試してみてください。これを実行すると正確に何が起こりますか?各行の戻りコードは何ですか? – MrEricSir
'RegSetValueEx'を完全に間違って呼び出す方法。 'DWORD d = 1; RegSetValueEx(hKey、L "test"、REG_DWORD、&d、sizeof(d));' – RbMm
あなたはおそらく[レジストリリダイレクタ](https://msdn.microsoft.com/) en-us/library/windows/desktop/aa384232.aspx)、すべてが狂ってしまい、あなたを無視します。 – IInspectable