如何运行一个exe文件,延时1秒,运行一个批处理文件,延时50ms关闭另外一个exe文件
希望哪位高手能给段代码
希望哪位高手能给段代码
解决方案 »
- 大家帮帮忙,帮我看看这段代码怎么了,总是说select 字句包含一个保留字,或拼写错误,参数丢失,标点符号不正确
- 关于ado连接access的奇怪问题
- 包含类如何使用上层类的成员。
- 再不进来就出人命了!!!
- ★★★★★delphi调用一个简单的oracle存储过程怎么不行??100分相送!!!!!★★★★★
- 打印的奇怪问题
- 很急手的问题,在线等待(2小时后散分)!
- Delphi里如何获得SYBASE的错误代码???
- 请高手:指点!托盘区的图标为何不能响应鼠标的消息???
- 想从Tfilestream继承一个新类来实现偏移读取文件
- 请教三层结构中 主键问题
- AdvStringGrid怎么取消显示空行?
ShellExecute(handle, 'open','c:\1.exe',nil,nil, SW_SHOWNORMAL);
Sleep(1000);
Application.ProcessMessages;
ShellExecute(handle, 'open','c:\2.bat',nil,nil, SW_SHOWNORMAL);
Sleep(50);
Application.ProcessMessages;
SendMessage(handle,WM_CLOSE,0,0);
procedure EndProcess(AFileName: string);
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOL;
FSnapShotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
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(AFileName))
or (UpperCase(FProcessEntry32.szExeFile ) = UpperCase(AFileName))) then
TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0),FProcessEntry32.th32ProcessID), 0);
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
end;
使用举例 EndProcess('explorer.exe');
Terminateprocess
winexec
shellexecute