如何在程序中结束一个执行的bat文件的进程?(100分)

  • 主题发起人 主题发起人 Funnysl
  • 开始时间 开始时间
F

Funnysl

Unregistered / Unconfirmed
GUEST, unregistred user!
程序里面调用了一个bat文件(5行,每行执行时间1分钟),如何结束他的进程呢?
比如我调用了第三行之后,在中途就想结束这个进程,该怎么办?

使用TerminateProcess(ProcessHandle, 0)
结束了之后,当前执行的命令行(第三行)仍然没被结束~~
 
function KillTask(ExeFileName: string): Integer;
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
Result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(
OpenProcess(PROCESS_TERMINATE,
BOOL(0),
FProcessEntry32.th32ProcessID),
0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
 
有没有这样一个界面解决方案,在一个大的底图上放几个大的图片按钮,这些按钮都有4种状态。

我试了很多方法,包括控件,都很闪烁。
 
后退
顶部