Q&A

  • 훅에 대한 질문입니다....도와주세여........
훅 어플을 하나 만들고 있습니다.

특정폴더 예를들어 Temp라는 폴더를 열어 볼려고 할때 훅의

WH_SHELL(윈도우 셀에 관계된 메시지를 전문으로 하는 갈구리)을

사용하여 탐색기(익스플로어)를 실행하면 실행되는 탐색기의 클래스를

가져옵니다.

이클래스를 이용하여 Temp 인지 아닌지를 검색하여 결과물을 출력합니다.



물론 여기까지는 잘됩니다. 문제는 탐색기가 아닌 도스창이나 특정 프로그램의

파일열기, 파일저장 에서는 Temp를 잡을 방법이 없다는 겁니다.



ParentWnd := wParam; //셀에 관계된 메시지가 발생할때 핸들값 저장

while GetParent(ParentWnd) <> 0 do ParentWnd := GetParent(ParentWnd);

//발생한 핸들의 부모 핸들값을 찾음...

SendMessage(ParentWnd, WM_GETTEXT, SizeOf(TextName), LongInt(@TextName));

//부모 핸들의 텍스트를 가져옮....

if TextName = 'Temp' then ShowMessage('Temp 찾았음');



기본 훅의 사용은 생략 했습니다.



도스창이나 특정프로그램의 파일열기,파일저장 Dialog는 무엇을 열고 있는지

알 수가 없더라는 거죠...



현재 활성화된 윈도우의 클래스나 핸들만으로 무엇이 열려 있는지 알 수 있는 방법이

없을까요?....물론 도스창이나 다른 모든환경에서 동일하게 ....

0  COMMENTS