|
임펠리테리입니다.
만약 윈도우의 캡션 정도만 알면 되는 거라면 다음과 같이 하면 됩니다.
AnsiString WindowText;
WindowText.SetLength(1000); // 캡션 길이가 1000이상이 될 경우는 생각하기 귀찮아서..
GetWindowText(GetForegroundWindow(), WindowText.c_str(), 999);
Label1->Caption = WindowText;
하지만 윈도우 핸들로부터 그 윈도우의 캡션이 아닌 그 핸들을 소유한 프로세스의 이름을 알아내는 방법은..
제가 알기로는 없습니다.
하다 못해, NT나 2000의 작업관리자의 경우에도 윈도우들의 리스트와, 프로세스들의 리스트는 따로 나오더군요.
스냅샷을 만든다는 말씀은 Process32First() 함수를 쓴다는 뜻이겠지요? 그런데 이렇게 얻어낸 정보에도
윈도우 핸들과 관련된 정보는 없지요.
그럼 이만...
왕족 님이 쓰신 글 :
: 안녕하십니까? 빌더 초보 왕족입니다.
:
: 기능: 현재 활성화 되어있는 응용프로그램의 이름을 알고싶습니다.
: 예) notepad.exe
:
: 현재: GetForgroundWindow() 를 쓰면 핸들만 가져옴으로 이름을
: 알수없더라구요.
:
: 책대로 스냅샷을 쓰면 일일이 비교검색해야하던데,
: 그냥 핸들만 갖고 실행프로그램 이름을 알수 없을까요?
|