如何运行一个exe文件,延时1秒,运行一个批处理文件,延时50ms关闭另外一个exe文件
希望哪位高手能给段代码

解决方案 »

  1.   

    你这个延时,可以直接使用sleep,顺着执行就是了ShellExecute可以执行一个程序(exe,bat等)
      

  2.   


     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); 
      

  3.   

    2楼不正,要关闭另一个exe,不是自己
    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');
      

  4.   

    主要是批处理文件调用了另外一个exe文件  所以要运行的过程中关闭它 
      

  5.   

    如果不要延时了 可以简单些吗   顺序依次是运行1.exe  运行2.bat  关闭2.bat的关联文件3.exe
      

  6.   

    createprocess
    Terminateprocess
    winexec
    shellexecute