C ++注册表没有任何反应

时间:2019-03-29 10:10:31

标签: c++ windows visual-c++ cmd regedit

我在PC,Windows上具有管理员权限,并尝试使用CMD和ShellExecute添加注册表DWORD项。 通过这种方式的所有其他命令均有效,但Reg Add无效。

ShellExecute(0, "open", "cmd.exe", "/C reg add \"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\Userlist\" /v username /t REG_DWORD /d 0 /f", 0, SW_HIDE);

当我尝试时没有任何反应。为什么?

我尝试成功在cmd中直接运行上述命令,但是在运行应用程序时未添加密钥。

谢谢。

好的,我尝试使用另一种方式使用此代码:

HKEY hKey;
        LPCSTR sKeyPath;
        int iResult;

        sKeyPath = "Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\Userlist";
        iResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, sKeyPath, NULL, KEY_ALL_ACCESS, &hKey);
        DWORD value = 0x00000000;
        iResult = RegSetValueEx(hKey, "username", NULL, REG_DWORD, (const BYTE*)&value, sizeof(value));
        RegCloseKey(hKey);

也不要工作:( 我改为尝试此操作,但失败

HKEY hKey;
_TCHAR sKeyPath[] = _T("Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\Userlist");

RegCreateKeyEx(HKEY_LOCAL_MACHINE, sKeyPath, 0, NULL, REG_OPTION_VOLATILE, KEY_WRITE, NULL, &hKey, NULL);
RegSetValueEx(hKey, _T("username"), 0, REG_DWORD, (BYTE*)_T("000000"), sizeof(_T("000000")));

0 个答案:

没有答案