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
[29084] Re:[질문]spy로 실행파일의 핸들을 보면..
둘리 [dooly386] 1229 읽음    2004-03-18 14:12
HWND findHwnd = NULL;
BOOL EnumChildProc(HWND hwnd,LPARAM lParam)
{
    char clsname[128];
    int c = GetClassName(hwnd,clsname,128);
    if(c){
        // retrieve classname ok
        char *p = (char *)lParam;
        AnsiString a = clsname;
        AnsiString b = p;
        if(a==b){
                           findHwnd = hwnd;
            return true;
            }
        bool r = EnumChildWindows(hwnd,(WNDENUMPROC)EnumChildProc,lParam);
        if(r){
            findHwnd = hwnd;
            return true;
            }
        }
    return false;
}
HWND FindWindow2(HWND parent,char *classname)
{
    findHwnd = NULL;
    bool r = EnumChildWindows(parent,(WNDENUMPROC)EnumChildProc,(LPARAM)(classname));
    if(r){
        return findHwnd;
        }
    return NULL;
}

호출은
HWND hwnd = FindWindow2(FormHandle,"TEdit");
이렇게 하세요.
기타 응용 및 optimization은 하실수 있으리라 믿습니다.
빨리 짜느라고 일단 막 짰습니다.
참고하세요.




하안인 님이 쓰신 글 :
:  spy를 실행시켜 현재 실행되어 있는 프로그램을 보면
:

:     00000594 SVCHOST
:         0000062C MGAQR
:             000006D0 MGAQR
:                 00010556 "" TPanel
:                 00010558 "" TFileListBox
:                 0001055A "" TFileListBox
:                 0001055C "" TdxfOutlookGroup
:                 0001055E "" TDBGrid
:                 00010560 "" TListBox
:                 00010562 "" TEdit
:                 00010564 "" TEdit
:                 00010566 "" TEdit
:                 00010568 "" TEdit
:                 0001056A "" TEdit
:                 0001056C "" TEdit
:                 0001056E "보기" TBitBtn
:                 00010570 "" TdxfProgressBar
:                 00010574 "IMEKR98U_MAIN" IMEKR98U_MAIN
:                 00010576 "" IMEKR98U_STAT
:                 00010578 "" IMEKR98U_TOOLTIP
:                 0002050E "Mgaqr" TApplication               --------------------- > 이부분
:                 00020510 "" TPanel
:                 0002051C "" TListBox
:                 0002053A "" TAdvStringGrid
:                 0002053E "" TGridDatePicker
:                 0002054A "AQR " Tfm_main                   ----------------------> 이부분
:                 0002054C "" TdxfOutlookBar
:                 0002054E "" TNotebook
:                 00020550 "cnf" TPage
:                 00020552 "" TListBox
:                 00020554 "sulmun" TPage
:                 0004052E "tel_open" TPage
:                 00050536 "Default IME" IME
:                 0008051E "" TAdvRichEdit
:         00000654 IEXPLORE
:         000006E4 SNAGIT32
:

:
: 위에서 본것중
:                 0002050E "Mgaqr" TApplication               --------------------- > 이부분
:                 0002054A "AQR " Tfm_main                   ----------------------> 이부분
:
:                 이두부분의 차이는 무엇인가요.
:
:                 wHandle = FindWindow("TApplication","Mgaqr");     
:                  으로 하면 첫번째 0002050E의 핸들이
:                 wHandle = FindWindow("Tfm_main",NULL);
:                 으로 찾으면 0002054A의 핸들이 리턴되는데 이 두 핸들의 차이점은 무엇인가요.
:
:                제가 하려는 것은 프로그램의 핸들을 찾고
:                그 폼에 위치하고 있는 TEdit의 핸들을 구해서 Edit안에 글씨를 써 넣으려고 합니다.
:               위에 대한 설명이나 조언을 부탁드립니다.
:
:

+ -

관련 글 리스트
29075 [질문]spy로 실행파일의 핸들을 보면.. 하안인 1261 2004/03/18
29084     Re:[질문]spy로 실행파일의 핸들을 보면.. 둘리 1229 2004/03/18
29077     Re:[질문]spy로 실행파일의 핸들을 보면.. 둘리 1060 2004/03/18
29078         Re:Re:[질문]spy로 실행파일의 핸들을 보면.. 하안인 893 2004/03/18
29079             Re:Re:Re:[질문]spy로 실행파일의 핸들을 보면.. 둘리 1091 2004/03/18
29083                 Re:Re:Re:Re:[질문]spy로 실행파일의 핸들을 보면.. 하안인 1179 2004/03/18
34644                     Re:Re:Re:Re:Re:[질문]spy로 실행파일의 핸들을 보면.. 둘리 926 2004/03/18
29085                     Re:Re:Re:Re:Re:[질문]설명하신것이 무슨 말이지 몰라서요. 하안인 935 2004/03/18
34643                         Re:Re:Re:Re:Re:Re:[질문]설명하신것이 무슨 말이지 몰라서요. 둘리 1004 2004/03/18
29088                         Re:Re:Re:Re:Re:Re:[질문]설명하신것이 무슨 말이지 몰라서요. 하안인 987 2004/03/18
29089                             Re:똑같이 찾지를 못합니다. 하안인 901 2004/03/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.