delphi api 结束exe
时间: 2024-05-14 20:17:37 浏览: 16
你可以使用 Windows API 中的 TerminateProcess 函数来结束一个运行中的 EXE 文件。具体的代码实现如下:
```delphi
uses
TLHelp32;
function TerminateProcessByName(const AProcessName: string): boolean;
var
SnapshotHandle: THandle;
ProcessEntry: TProcessEntry32;
ProcessHandle: THandle;
begin
Result := False;
SnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
try
ProcessEntry.dwSize := SizeOf(TProcessEntry32);
if Process32First(SnapshotHandle, ProcessEntry) then
begin
repeat
if (UpperCase(ExtractFileName(ProcessEntry.szExeFile)) = UpperCase(AProcessName)) or
(UpperCase(ProcessEntry.szExeFile) = UpperCase(AProcessName)) then
begin
ProcessHandle := OpenProcess(PROCESS_TERMINATE, False, ProcessEntry.th32ProcessID);
if ProcessHandle <> 0 then
begin
Result := TerminateProcess(ProcessHandle, 0);
CloseHandle(ProcessHandle);
Exit;
end;
end;
until not Process32Next(SnapshotHandle, ProcessEntry);
end;
finally
CloseHandle(SnapshotHandle);
end;
end;
```
以上代码实现了根据进程名字结束一个 EXE 文件。你只需要调用 TerminateProcessByName 函数并传入需要结束的 EXE 文件名字即可。例如:
```delphi
TerminateProcessByName('notepad.exe');
```
这将结束运行中的记事本程序。