使用 CreateProcess 和 regedit.exe 导入 reg 密钥?

Posted

技术标签:

【中文标题】使用 CreateProcess 和 regedit.exe 导入 reg 密钥?【英文标题】:import a reg key using CreateProcess & regedit.exe? 【发布时间】:2016-05-28 19:21:58 【问题描述】:

我只需要一种简单的方法将 .reg 密钥导入注册配置单元 我怎样才能做到这一点? 我当前的代码如下所示:

#include<Windows.h>

int main()

    STARTUPINFO STARTINFO =  sizeof(STARTUPINFO) ;
    STARTINFO.cb = sizeof(STARTINFO);
    STARTINFO.dwFlags = STARTF_USESHOWWINDOW;
    STARTINFO.wShowWindow = SW_HIDE;
    PROCESS_INFORMATION ProcessInfo;
    CreateProcess("regedit.exe /S C:\\folder\\dd.reg", NULL , NULL, NULL, FALSE, CREATE_NO_WINDOW , NULL, NULL, &STARTINFO, &ProcessInfo);

从命令行C:\\Windows\regedit.exe /S C:\\folder\\dd.reg工作得很好,我做错了什么?

PS:我不想用system

【问题讨论】:

【参考方案1】:

阅读CreateProcess 的文档。第一个参数只是可执行文件的名称/路径; 第二个是命令行。

CreateProcess(L"regedit.exe", L"/S whatever.reg", ...)

【讨论】:

您好,感谢您的回复,我不是真正的程序员,我只是需要一些快速工作的东西。在阅读了该页面之后,我能够通过将第一个参数留空并在第二个参数中提供完整的字符串来使其工作,就像在 cmd 中一样,之后它就可以完美地工作了!还是谢谢!

以上是关于使用 CreateProcess 和 regedit.exe 导入 reg 密钥?的主要内容,如果未能解决你的问题,请参考以下文章

不直接使用字符串时CreateProcess@Unhandled异常

使用 CreateProcess 和 regedit.exe 导入 reg 密钥?

Windows CreateProcess 和输出重定向

CreateProcess 和 WaitForSingleObject 在两个 PDF 文件中的第二个失败

forking() 和 CreateProcess()

CreateProcess 和奇怪的 nslookup 错误