怎么样让程序无延时的立即结束程序
我原来用的RunWait 需要延时200毫秒
 RunWait('cmd /c taskkill /f /t /im roup.exe',0);
后来用了Run ,程序也明显的很慢能不能有什么方式,立刻结束,无任何延时的?代码多的话请尽量多注释,本人是新手

解决方案 »

  1.   

    function FindProcess(PrcsName: string): DWORD;
    var
      ContinueLoop: Boolean;
      FSnapshotHandle: THandle;
      FProcessEntry32: TProcessEntry32;
      ProcessID: DWORD;
      DestName,CurrName: string;
    begin
      Result:=0;
      DestName:=PrcsName;
      CharLowerBuff(@DestName[1], Length(DestName));
      ProcessID:=Windows.GetCurrentProcessId;
      FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
      FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
      ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);
      while ContinueLoop do
      begin
        if (ProcessID=FProcessEntry32.th32ProcessID) then
        begin
          CurrName:=FProcessEntry32.szExeFile;
          CharLowerBuff(@CurrName[1], Length(CurrName));
          if DestName=CurrName then
            Result:=FProcessEntry32.th32ProcessID;
          Break;
        end;
        ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);
      end;
      CloseHandle(FSnapshotHandle);
    end;var
      ProcessID: DWORD;
      ProcessHandle: THandle;
      ExitCode: Cardinal;
    begin
      ProcessID:=FindProcess("要结束的进程名称.exe"); 
      ProcessHandle:=OpenProcess(PROCESS_TERMINATE,False,ProcessID);
      GetExitCodeProcess(ProcessHandle,ExitCode);
      TerminateProcess(ProcessHandle,ExitCode);
    end;