如何终止使用 winexec() 创建的进程?
How can i terminate process created with winexec()?
例如,我想用 WinExec() 启动 cmd 并在大约 10 秒后终止它,我为此编写了一些小代码,但它不起作用。为什么它不起作用,我该如何解决?
这是我的代码:
program Project2;
uses
Windows;
var
hProcess: THandle;
begin
hProcess := WinExec('C:\Windows\System32\cmd.exe', SW_SHOW);
Sleep(10000);
TerminateProcess(hProcess, 0);
end.
WinExec
没有 return 进程句柄。事实上,它的文档清楚地表明您根本不应该使用此功能。它的存在只是为了向后兼容。
使用 CreateProcess
而不是 return 通过进程信息参数的进程句柄。
例如,我想用 WinExec() 启动 cmd 并在大约 10 秒后终止它,我为此编写了一些小代码,但它不起作用。为什么它不起作用,我该如何解决?
这是我的代码:
program Project2;
uses
Windows;
var
hProcess: THandle;
begin
hProcess := WinExec('C:\Windows\System32\cmd.exe', SW_SHOW);
Sleep(10000);
TerminateProcess(hProcess, 0);
end.
WinExec
没有 return 进程句柄。事实上,它的文档清楚地表明您根本不应该使用此功能。它的存在只是为了向后兼容。
使用 CreateProcess
而不是 return 通过进程信息参数的进程句柄。