例如,我想用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.
答案 0 :(得分:3)
WinExec
不返回进程句柄。实际上,其文档清楚表明您根本不应使用此功能。仅为了向后兼容而存在。
使用CreateProcess
代替,它通过过程信息参数返回过程句柄。