Цитата:
Сообщение от kudesnik
подскажите почему функция при втором вызове не убивает процесс?
т.е. есть 1.exe и 2.exe. оба запущены. при вызове DebugKillProcess(GetProcessId('1.exe')); процесс закрывается. еще раз вызываем DebugKillProcess(GetProcessId('2.exe')); процесс не закрывается
|
Ну так ты обрабатывай ошибки вместо того чтобы при ошибках тихонько выходить по Exit.
Т.е. вместо, например, такого:
Код:
if DbgUiConnectToDbg() <> STATUS_SUCCESS then Exit;
Делай примерно так:
Код:
var
err: DWORD;
.....
begin
.....
err := DbgUiConnectToDbg();
if err <> STATUS_SUCCESS then
raise Exception.CreateFmt('Ошибка №%d: "%s"', [err, SysErrorMessage(err)]);
p.s. И чем не подходит завершение процесса через обычный TerminateProcess ?