블로그 이미지
fiadot_old

칼퇴근을 위한 게임 서버 개발 방법론에 대한 심도있는 고찰 및 성찰을 위한 블로그!

Rss feed Tistory
Technical Article 2005. 7. 7. 13:27

다른 프로세스 제어

메세지 보내기
void CNoteAmpDlg::PostMsgToWinAmp(WPARAM wParam)
{
HWND hWnd = ::FindWindow("Winamp v1.x", NULL);
::PostMessage( hWnd, WM_KEYDOWN, wParam, 0 );
}


함수
::FindWindow("class name", "application title");
class name or apllication 둘중하나만 해도 됨.


caption(타이틀) 얻어오기
HWND hWnd = ::FindWindow("Winamp v1.x", NULL);
if ( NULL == hWnd )
return;

::GetWindowText(hWnd, (LPSTR)(LPCTSTR)m_strTitle, 256);
m_strTitle.TrimRight("- Winamp");

UpdateData(FALSE);


배너 제거하기
HWND hMsgn = ::FindWindow(NULL, "NateOn");
if(hMsgn)
{
HWND hChild1 = ::FindWindowEx(hMsgn, NULL, "Afx:400000:0:10011:6:0", NULL);
if(hChild1)
{
// 상위 객체를 죽여야 하는군~ ^^
HWND hChild2 = ::FindWindowEx(hChild1, NULL, "AfxWnd42", NULL);
::ShowWindow(hChild2, SW_HIDE);
}

// NateOn
//
// NateOn, NULL
// AfxWnd42
// Afx:400000:0:10011:6:0
// AfxWnd42
// Static
}

스레드와 프로세스 아이디 얻기
HWND hMsgn = ::FindWindow(NULL, "NateOn");
DWORD dwProcessID = NULL;
DWORD dwTreadID = ::GetWindowThreadProcessId( hMsgn, &dwProcessID );
,
TOTAL TODAY