|
우왕~ 정말 빠른 답변 감사합니다.
원인을 알았으니 이것저것 해보겠습니다~
장성호 님이 쓰신 글 :
: 정상입니다.
:
: C++Builder뿐만 아니라 Delphi 도 마찬가지 입니다.
:
: VCL 로 만들어서 그렇습니다.
:
: 음..
:
: VCL에서는
: Applicaiton->Handle이 실제적 메인윈도우 핸들입니다.
:
: 하지만 보통은 화면에 보이지 않죠
:
: 화면에 보이는 메인폼은 Application->MainForm->Handle 이구요
:
: 특별히 조작하지 않은 경우
: 델파이니 CBuilder 또는 그걸로 만든 어플리케이션의 작업표시줄 버튼의 팝업 메뉴를 보면
: 3개 나옵니다.
:
: 하지만 메인폼의 좌측상단을 클릭하면 6개 나오죠
:
: VCL에서는 Applicaiton->Handle의 시스템 메뉴를 3개 삭제 해서 그렇습니다.
:
: 작업표시줄에 보이는 버튼과 메인폼이 결국 다른놈이죠
:
: 하지만 VCL에서 Application->Handle과 Application->MainForm->Handle 에 중요한 메세지가
: 유기적으로 잘 연결되어있어 하나의 윈도우인것처럼 동작합니다.
:
: VCL에서 생성되는 모든 Form의 WndParent 는 Application->Handle로 만들어서
: 편리하게 쓰려구 그렇게 만든것 같습니다.
:
: 작업표시줄에 버튼이 Application->MainForm->Handle 이 되도록 하는 기능이
: Delphi7 이후에 추가되어있구요
:
: 어떤 윈도우 어플리케이션이 델파이(또는 CBuilder)로 만들었는지 간단히 확인해 보는 방법은
: 작업표시줄 버튼의 팝업메뉴의 갯수를 보면 쉬 알수 있죠
: (100%정확한것은 아니지만 )
:
:
: 그럼..
:
: Gromit 님이 쓰신 글 :
: : 다른 프로그램의 핸들을 찾아서 창을 이동 하려고합니다.
: :
: : 그런데 c++빌더로 만들어진 프로그램의 핸들을 findwindow로 찾으면 2개가 나옵니다.
: :
: : 첫 핸들은 검은색배경에 제목표시줄만 달랑 나와있구요.
: : 다른 핸들은 정상적 프로그램의 핸들입니다.
: :
: : 원래 정상인가요? 검은색만 달랑나와있는 첫 핸들을 움직이면 윈도우가 분리(?)되서 따로노는데
: : 이상하게 c++빌더로 만들어진 프로그램만 2개가 나오더군요.
: :
: : 어떻게 된건지 아는분 계신가요??
: : 잘못된핸들을 피해서 정상적 프로그램의 핸들만 가져올수있는 방법을 알고싶습니다.
|