|
멀더 님이 쓰신 글 :
: 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;
: }
|