procedure ProcPriority(Cap: String);
var
  H, tID, pID: THandle;
  우선순위: DWORD;


begin
  // 캡션명으로 윈도우핸들 Get
  H:=FindWindow(nil, PAnsiChar(Cap));
  if H<>0 then begin
    // 윈도우핸들로 Thread 핸들 Get
    GetWindowThreadProcessID(H, @tID);
    // Thread 핸들로 프로세스 핸들 Get
    pID:=OpenProcess(PROCESS_ALL_ACCESS, False, tID);
    if pID<>0 then begin
      // 프로세스 핸들로 우선순위 Get
      우선순위:=GetPriorityClass(pID);

      // 우선순위 출력
      case 우선순위 of
        NORMAL_PRIORITY_CLASS: ShowMessage('보통');
        IDLE_PRIORITY_CLASS:   ShowMessage('낮음');
        HIGH_PRIORITY_CLASS:   ShowMessage('높음');
        REALTIME_PRIORITY_CLASS: ShowMessage('실시간');
      end;
    end;
  end;

 

  CloseHandle(pID);
  CloseHandle(tID);
  CloseHandle(H);
end;





Posted by bloodguy
,