|
음... 몇일전에 HWND를 얻는 것을 올려 드렸는데..^^;;
ProcessID를 얻은 경우에는 다음과 같은 형태로 HWND를 얻을 수 있습니다.
bool __fastcall TForm1::GetHwndFromProcessID( DWORD processID )
{
DWORD dwProcID;
HWND hWndPrevious = GetWindow(GetDesktopWindow(), GW_CHILD);
while (IsWindow(hWndPrevious))
{
GetWindowThreadProcessId(hWndPrevious,&dwProcID);
if (dwProcID == processID)
{
SetForegroundWindow(hWndPrevious);
return true;
}
hWndPrevious = ::GetWindow(hWndPrevious, GW_HWNDNEXT);
}
return false;
}
위에서 보시면 hWndPrevious 입니다.
SetForegroundWindow 부위에서 약간의 조작을 하시면 됩니다.
hWndPrevious를 넘겨 주시면 될듯...(sendmessage로 바꾸시면 되죠..^^)
ProcessID는 쉽게 찾아 보시면 쉽게 얻을 수 있습니다.
그럼...^^;
유영인 Cuperido 님이 쓰신 글 :
: FindWindow(클래스이름, 캡션이름) 으로 찾아낼 수 있습니다.
:
: 버디버디의 캡션 이름이 "버디버디" 라고 한다면
: HWND hdHandle = FindWindow(NULL, "버디버디");
: 이런 식으로 찾아낼 수 있습니다.
:
: 핸들 값으로 알아 드리는 것은 불가능합니다.
: 핸들 값은 프로그램을 띄울때마다 계속 변경되기 때문입니다.
:
:
: cuperido
:
:
: 이성제 님이 쓰신 글 :
: : sendmessage((핸들값,이름값=NULL),x,x);
: :
: : 이름값 말구요 핸들값으로 좀 알아주세요
: :
: : 지금 꼭 필요해요 부탁드립니다.
|