gpt4 book ai didi

c++ - 如何在 Windows 上用 C++ 创建进程?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:51:50 25 4
gpt4 key购买 nike

谁能告诉我如何在 VC++ 中创建进程?我需要执行

regasm.exe testdll /tlb:test.tlb /codebase

该进程中的命令。

最佳答案

regasm.exe(程序集注册工具)对 Windows 注册表进行更改,因此如果您想将 regasm.exe 作为提升的进程启动,您可以使用以下代码:

#include "stdafx.h"
#include "windows.h"
#include "shellapi.h"

int _tmain(int argc, _TCHAR* argv[])
{
SHELLEXECUTEINFO shExecInfo;

shExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);

shExecInfo.fMask = NULL;
shExecInfo.hwnd = NULL;
shExecInfo.lpVerb = L"runas";
shExecInfo.lpFile = L"regasm.exe";
shExecInfo.lpParameters = L"testdll /tlb:test.tlb /codebase";
shExecInfo.lpDirectory = NULL;
shExecInfo.nShow = SW_NORMAL;
shExecInfo.hInstApp = NULL;

ShellExecuteEx(&shExecInfo);

return 0;
}

shExecInfo.lpVerb = L"runas" 表示进程将以提升的权限启动。如果您不希望这样,只需将 shExecInfo.lpVerb 设置为 NULL。但在 Vista 或 Windows 7 下,需要管理员权限才能更改 Windows 注册表的某些部分。

关于c++ - 如何在 Windows 上用 C++ 创建进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1067789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com