Delphi11 没有找到指定文件则退出
时间: 2024-12-17 16:47:51 浏览: 2
在Delphi 11中,如果你想要在尝试关闭一个外部exe程序之前确认它是否已经存在,你可以结合`TProcess`组件和`Assigned`属性来实现。首先,你需要创建一个`TProcess`实例来代表目标exe程序。以下是一个简单的示例:
```delphi
uses
Windows,
SysUtils;
var
ProcessHandle: THandle;
FileName: string; // 替换成你要查找并可能关闭的exe文件路径
begin
FileName := 'C:\Path\To\YourExe.exe'; // 替换成实际的文件路径
// 使用OpenProcess打开进程句柄
if OpenProcess(PROCESS_ALL_ACCESS, False, GetCurrentProcessId(), ProcessHandle) = 0 then
begin
// 如果进程不存在或者权限不足, Assigned 将会返回False
if not Assigned(ProcessHandle) then
ShowMessage('The specified exe is not running or access denied.');
else
// 进程存在,可以继续尝试关闭
CloseHandle(ProcessHandle);
end
else
ShowMessage('Failed to open the process handle.');
end;
```
如果`OpenProcess`失败(例如,找不到进程),`Assigned(ProcessHandle)`将会返回`False`,这时你可以显示一条消息说明exe程序未运行或访问受限。
阅读全文