筆者前幾天中了一個廣告程序,經常彈出該廣告,不勝其煩,一直在想怎麼去掉這個煩人的廣告,想想用一下API函數應該可能關掉該廣告。
該程序如下:
先定義一個回調函數BOOL CALLBACK EnumWindowsFuntions(HWND hWnd,LPARAM lParam);為的是跟EnumWindows函數相關連,枚舉窗口。
然後在此回調函數中調用一個API函數,也就是FindWindowEx函數,根據找到跟窗口標題相對應的句柄之後,用一個PostMessage()把此窗口關閉即可。
至於如何找到此廣告程序的標題,我們可以用VC自帶的spy++工具來找。
完整程序如下:
#i nclude <Windows.h>
#i nclude <process.h>
BOOL CALLBACK EnumWindowsFuntions(HWND hWnd,LPARAM lParam);
int main()
{
::EnumWindows(EnumWindowsFuntions,NULL);
}
BOOL CALLBACK EnumWindowsFuntions(HWND hWnd,LPARAM lParam)
{
hWnd = FindWindowEx(NULL, hWnd, NULL, "http://www.yawane.com/down/4820.Html");
if(hWnd)
{
::PostMessage(hWnd,WM_CLOSE,0,0);
return TRUE;
}
Sleep(30000);
return FALSE;
}