C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[54632] Re:Re:서비스 프로그램에서 FindWindow , EnumWindows , EnumThreadWindows 같은 API가 안되는 이유
장성호 [nasilso] 3216 읽음    2008-09-22 10:48
답변 감사합니다.

웹에 검색해보니 
"홍가일보"라는 블로그에 "Window Station과 Desktop 그리고 Session" 이라는 제목으로
님께서 말씀하신 테스트탑이 어떻게 다른지 잘 설명되어있네요.
http://hongyver.pe.kr/ttblog/727



불멸의삽질(곰) 님이 쓰신 글 :
: 그건 서로 윈도우 영역이 틀리기 때문입니다.
:
: 서비스는 서비스스테이션에서 돌고
:
: 우리가 흔히 보는 윈도우화면은 데스크탑 윈도우 이기 때문이죠.
:
: 한 마디로 실행되는 영역의 차이입니다.
:
: 음 찾을수 있는 방법이 있는지는 잘 기억이 안나네요 안됬던거 같은대~
:
:
: 장성호 님이 쓰신 글 :
: : Delphi 로 서비스 프로그램을 하나 만들어 윈도우에 등록했습니다.
: :
: : OS는 Windows XP SP3
: :
: : 그런데 서비스 프로그램에서 FindWindow로 데스크탑에 실행된 어플리케이션을  찾으니 찾아 지지 않더군요
: :
: : EnumWindows로 체크해보도 현재 데스크탑에 떠 있는 윈도우가 엄청 많건만  그건 나오지 않고
: : 몇개만 나오네요
: :
: : 그래서 ToolHelp32로  Process ID를 찾아서 그 프로세서의 Thread ID를 찾아서
: : EnumThreadWindows 를 호출했는데.. 한번도 CallBack함수가 호출이 되지 않네요
: :
: : 그 코드 그대로 일반 윈도우 어플리케이션에서 하면 잘 찾아 지는데....
: :
: :
: : 생각해보면
: : 서비스 프로그램에서 데스트탑에 있는  윈도우 핸들을 찾을수 없을수 밖에 없을것도 같은데...
: :
: : 제가 뭐 잘못해서 그런지...
: : 아니면 정말 그렇다면 이론적으로 왜그런지 누가 설명좀 해주실수 있나요?
: :
: : 이론은 잰뱅이라서 ....

+ -

관련 글 리스트
54621 서비스 프로그램에서 FindWindow , EnumWindows , EnumThreadWindows 같은 API가 안되는 이유 장성호 2052 2008/09/20
54631     Re:서비스 프로그램에서 FindWindow , EnumWindows , EnumThreadWindows 같은 API가 안되는 이유 불멸의삽질(곰) 3443 2008/09/22
54632         Re:Re:서비스 프로그램에서 FindWindow , EnumWindows , EnumThreadWindows 같은 API가 안되는 이유 장성호 3216 2008/09/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.