使用VC++6關(guān)閉指定窗口標(biāo)題的程序

字號(hào):

常常聽(tīng)說(shuō)有病毒關(guān)閉殺毒軟件,是枚舉窗口標(biāo)題來(lái)實(shí)現(xiàn)的,那么內(nèi)幕是什么呢?
    其實(shí)只需要數(shù)10行代碼就可以了。
    VC++6.0建立Win32 APPlication,復(fù)制下面的代碼...
    #include
    BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam);
    int APIENTRY WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)
    {
    // TODO: Place code here.
    EnumWindows(EnumWindowsProc, 0); //枚舉所有窗口
    return 0;
    }
    BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) //滿足指定條件,則關(guān)閉窗口
    {
    char wtitle[512];
    GetWindowText(hwnd, wtitle, sizeof(wtitle));
    if (strstr(wtitle , "記事本")) //窗口標(biāo)題含有記事本
    {
    ::SendMessage(hwnd, WM_CLOSE, 0, 0);
    }
    return (true); //不要忘了
    }
    病毒當(dāng)然比這個(gè)多點(diǎn)代碼,它先定義一個(gè)數(shù)組,然后再弄個(gè)判斷函數(shù),判斷窗口標(biāo)題是否和這個(gè)數(shù)組里面的匹配,如果有一個(gè)匹配則返回真否則返回假,然后如果真,則關(guān)閉