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
[38374] Re:다른 프로그램 에 있는 버튼을 어떻게 실행 대게 하나여..고수님들 답변좀
멀더 [mulder] 1351 읽음    2004-12-14 12:08
Builder초보 님이 쓰신 글 :
: Form1 에 버튼1이 있습니다 그버튼을 다른 프로그램에서 클릭한 효과를 내려면 어떻게 해야 하나여..


예전에 사용했던건데, 조금 단순무식한 방법이지만 효과는 만점입니다.
원하는 윈도우를 찾아서 그안의 버튼을 찾아서 그 핸들에 SendMessage를 날려 주시면 됩니다.


// 현재 실행중인 모든 윈도우중에서 원하는 Caption을 가진 윈도우의 핸들구하기 (보통 부모윈의 핸들구하기)
HWND GetWindowsHandleByCaptionEx (LPCTSTR palpCaption)
{
    bool bFound = false;
    HWND hWin;

    HWND h = FindWindow (NULL, NULL);

    hWin = h;
    while (h)
    {
        char* lpString = new char[1025];
        int nMaxCount = 1024;

        memset(lpString, 0, 1025);
        int nSize = GetWindowText(h, lpString, nMaxCount);

        if (nSize > 0 && strcmp (lpString, palpCaption) == 0)
        {
            if (h > hWin)
            {
                hWin = h;
            }
            bFound = true;
        }

        h = GetWindow (h, GW_HWNDNEXT);
        delete[] lpString;
    }

    if (bFound) return hWin;
    else return 0;
}

// 어느윈도우(부모윈)의 하위 윈도우중 원하는 캡션을 가지고 있는 윈도우(차일드)의 핸들찾기 (보통 버튼의 핸들구하기)
HWND GetChildWinByCaption (HWND pahParent, LPCTSTR palpCaption)
{
    HWND h = GetWindow(pahParent, GW_CHILD);

    while (h)
    {
        char* lpString = new char[1025];
        int nMaxCount = 1024;

        memset(lpString, 0, 1025);
        int nSize = GetWindowText(h, lpString, nMaxCount);

        if (nSize > 0 && strcmp (lpString, palpCaption) == 0)
        {
            delete[] lpString;
            return h;
        }

        h = GetWindow (h, GW_HWNDNEXT);
        delete[] lpString;
    }

    return 0;
}

+ -

관련 글 리스트
38352 다른 프로그램 에 있는 버튼을 어떻게 실행 대게 하나여..고수님들 답변좀 Builder초보 797 2004/12/12
38374     Re:다른 프로그램 에 있는 버튼을 어떻게 실행 대게 하나여..고수님들 답변좀 멀더 1351 2004/12/14
38380         Re:Re:답변 감사 합니다^^ 참고 많이 하께여 Builder초보 946 2004/12/14
38361     Re:다른 프로그램 에 있는 버튼을 어떻게 실행 대게 하나여..고수님들 답변좀 수야!╋ 1113 2004/12/13
38367         Re:Re:답변 감사 드립니다. 혹시 그방법 말고 Spy++ 이나 WinSight32 을 사용해서 하는방법은 없는지여.. Builder초보 1314 2004/12/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.