C++ C++;注册表添加什么都没有发生
我在PC、windows上拥有管理员权限,并尝试使用CMD和ShellExecute添加注册表DWORD项。 通过这种方式执行的所有其他命令都有效,但Reg Add无效C++ C++;注册表添加什么都没有发生,c++,windows,visual-c++,cmd,regedit,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 userna
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
中直接运行上述命令,但运行应用程序时未添加密钥
Thx
好了,伙计们,我试着用另一种方式使用这个代码:
HKEY-HKEY;
LPCSTR-sKeyPath;
国际结果;
sKeyPath=“软件\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\Userlist”;
iResult=RegOpenKeyEx(HKEY\U LOCAL\U MACHINE、sKeyPath、NULL、KEY\U ALL\U ACCESS和HKEY);
DWORD值=0x00000000;
iResult=RegSetValueEx(hKey,“用户名”,NULL,REG_DWORD,(常量字节*)&值,sizeof(值));
雷克洛斯基(香港中学),;
不要工作太多:(
我尝试了这个,但是失败了
HKEY-HKEY;
_TCHAR sKeyPath[]=“软件\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\Userlist”);
RegCreateKeyEx(HKEY_本地_机器、sKeyPath、0、NULL、REG_选项_VOLATILE、KEY_WRITE、NULL、&HKEY、NULL);
RegSetValueEx(hKey,_T(“用户名”)、0、REG_DWORD(字节*)_T(“000000”)、sizeof(_T(“000000”);
您确定失败了吗?运行后是否检查了注册表?当然……没有。但是如果在Windows中通过CMD执行此reg add命令,它会正常工作。奇怪的是。让我们拭目以待,看看是否有更专业的人可以回答。我建议您添加一个产生此问题的完整程序,以防问题出现在其他地方。可能的开始检查点:检查来自ShellExecute
的结果;将参数存储在字符串中并打印以验证它是否是您认为的结果;使用SW_SHOW
查看任何输出。您确定失败吗?运行后是否检查注册表?当然……没有。但是如果在Windows中通过CMD执行此reg add命令,则其工作..strangeIt是。让我们拭目以待,看看是否有更专业的人可以回答。我建议您添加一个产生此问题的完整程序,以防问题发生在其他地方。可能的起点:检查ShellExecute
;将参数存储在字符串中并打印以验证它是否是您认为的;使用SW_显示
以查看任何输出。