我在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")));