Cita:
Empezado por Gaby123
yo la ejecuto con shellexec y le paso como operacion 'open', pero no se como cerrarla luego.
|
Tratándose de un proceso que tu mismo creas, yo te recomendaría en lugar de usar ShellExecute, utilizar un CrateProcess y mantener el handle del proceso hasta que decidas terminarlo.
Código Delphi
[-]
var
lStartupInfo: TStartUpInfo;
lProcessInfo: TProcessInformation;
begin
ZeroMemory(@lStartupInfo, SizeOf(STARTUPINFO));
with lStartupInfo do
begin
cb := SizeOf(lStartupInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := SW_SHOW;
end;
if CreateProcess(nil, 'calc.exe', nil, nil, TRUE,
NORMAL_PRIORITY_CLASS, nil, nil, lStartupInfo, lProcessInfo) then
if WaitForSingleObject(lProcessInfo.hProcess, 5000) = WAIT_TIMEOUT then
TerminateProcess(lProcessInfo.hProcess, 0);