delphi判断线程是否正在运行

//以下资料来自大富翁论坛。w
/判断线程是否释放
//返回值:0-已释放;1-正在运行;2-已终止但未释放;
//3-未建立或不存在

function TFrmMain.CheckThreadFreed(aThread: TThread): Byte; var  i: DWord;  IsQuit: Boolean; begin  if Assigned(aThread) then  begin    IsQuit := GetExitCodeThread(aThread.Handle, i);    if IsQuit then           //If the function succeeds, the return value is nonzero.                                  //If the function fails, the return value is zero.    begin      if i = STILL_ACTIVE then    //If the specified thread has not terminated,                                  //the termination status returned is STILL_ACTIVE.        Result := 1      else        Result := 2;              //aThread未Free,因为Tthread.Destroy中有执行语句    end    else      Result := 0;                //可以用GetLastError取得错误代码  end  else    Result := 3; end;

 

 

此项目被张贴在未分类 。书签的 permalink

发表评论

电子邮件地址不会被公开。 必填项已用*标注