Q&A

  • 특정 프로그램이 실행되어 있는지 알려면 어떻게 해야 합니까
질문? 특정 프로그램이 실행되어있는지 알고 싶습니다.
      
         FindWindow('TApplication',PChar(WindowName));

         이렇게 하면 프로그램을
         종료했는데도 계속 실행되어 있다고만 하네요...
      
2  COMMENTS
  • Profile
    이현철 2002.07.31 19:48
    윈도우 캡션정보보다 실제로 실행된 실행파일 이름으로 찾는것도
    좋을듯 싶습니다..  아래 코드는, 현재 윈도우에서 실행되고
    있는 모든 실행파일의 리스트를 얻는 함수입니다. 만약 노트패드가
    실행되어 있다면 리스트중에서 notepad.exe 가 있을 것입니다..



    uses 에 추가하세요
      TlHelp32

    //----------------------------------------------------------//
    // 프로세스 리스트 만들기
    //----------------------------------------------------------//
    procedure GetProcessList( Process: TStringList );
    var
    Process32: TProcessEntry32;
    SHandle:   THandle;
    Next:      BOOL;
    begin
    Process32.dwSize := SizeOf(TProcessEntry32);
    SHandle          := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if Process32First(SHandle, Process32) then
    begin
       Process.Add('^' + string(Process32.szExeFile) + '@' + inttostr((Process32.th32ProcessID )));
       repeat
         Next := Process32Next(SHandle, Process32);
          if Next then
                  Process.Add('^' + string(Process32.szExeFile) + '@' + inttostr((Process32.th32ProcessID )));
       until not Next;
    end;
    CloseHandle(SHandle);
    end;
  • Profile
    전정기 2002.07.31 21:23
    감사합니다.