使用VC++6關閉指定窗口標題的程序的代碼

常常聽說有病毒關閉殺毒軟件,是枚舉窗口標題來實現的,那麼內幕是什麼呢?
  其實只需要數10行代碼就可以了。
  VC++6.0建立Win32 APPlication,複製下面的代碼...
  #include <windows.h>
  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) //滿足指定條件,則關閉窗口
  {
  char wtitle[512];
  GetWindowText(hwnd, wtitle, sizeof(wtitle));
  if (strstr(wtitle , "記事本")) //窗口標題含有記事本
  {
  ::SendMessage(hwnd, WM_CLOSE, 0, 0);
  }
  return (true); //不要忘了
  }
  病毒當然比這個多點代碼,它先定義一個數組,然後再弄個判斷函數,判斷窗口標題是否和這個數組裏面的匹配,如果有一個匹配則返回真否則返回假,然後如果真,則關閉。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章