有時候我們必須判斷某個應用程式是否還在運作,如果存在的話執行A動作,不在的話執行B動作,這時候就要用到FindWindow來達成:
hwnd = ::FindWindow(NULL, "WindowTitle");
if (hwnd)
Run_A();
else
Run_B();
"WindowTitle"指的就是那個應用程式的名稱,也就是該程式的title。如果我們要把找到的應用程式關掉的話,可以這麼作:
hwnd = ::FindWindow(NULL, "WindowTitle");
::PostMessage(hwnd, WM_CLOSE, 0, 0);
有的CMD的執行程式,必須要輸入某些字才可以結束,就可以使用下列方式:
CString Sendmsg = "shutdown";
int i;
char tempStr[2] = {0};
for (i=0 ; i < Sendmsg . GetLength ( ) ; i++ )
{
strcpy(tempStr,(LPCTSTR) Sendmsg .Mid(i,1));
::SendMessage(hwnd, WM_CHAR, (WPARAM)tempStr[0], (LPARAM)0);
}
strcpy(tempStr,"\r");
::SendMessage(hwnd, WM_CHAR, (WPARAM)tempStr[0], (LPARAM)0);
2008年12月10日 星期三
FindWindow
標籤: C/C++
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言