|
Delphi 로 서비스 프로그램을 하나 만들어 윈도우에 등록했습니다.
OS는 Windows XP SP3
그런데 서비스 프로그램에서 FindWindow로 데스크탑에 실행된 어플리케이션을 찾으니 찾아 지지 않더군요
EnumWindows로 체크해보도 현재 데스크탑에 떠 있는 윈도우가 엄청 많건만 그건 나오지 않고
몇개만 나오네요
그래서 ToolHelp32로 Process ID를 찾아서 그 프로세서의 Thread ID를 찾아서
EnumThreadWindows 를 호출했는데.. 한번도 CallBack함수가 호출이 되지 않네요
그 코드 그대로 일반 윈도우 어플리케이션에서 하면 잘 찾아 지는데....
생각해보면
서비스 프로그램에서 데스트탑에 있는 윈도우 핸들을 찾을수 없을수 밖에 없을것도 같은데...
제가 뭐 잘못해서 그런지...
아니면 정말 그렇다면 이론적으로 왜그런지 누가 설명좀 해주실수 있나요?
이론은 잰뱅이라서 ....
|