觅风论坛

标题: C++用户自定义拦截指定弹窗源码 [打印本页]

作者: 神话宝宝    时间: 2023-12-17 15:58
标题: C++用户自定义拦截指定弹窗源码
C++用户自定义拦截指定弹窗源码,实现自定义广告拦截电脑拦截各种流氓弹窗源码

  1. #include <afxwin.h>
  2. #include <iostream>
  3. #include <fstream>
  4. #include <string>
  5. #include <thread>
  6. #define RULE_FILE "rules.data"
  7. using namespace std;

  8. HWND hWnd;
  9. string wndtitle;
  10. BOOL showflag = false;

  11. bool Init();
  12. void GetWnd(HWND& wnd, string& title);
  13. void WriteRules(string rule);
  14. bool IsHit(string title);
  15. void FindAd();
  16. void ShowHide();
  17. BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam);

  18. int main()
  19. {
  20.     SetWindowTextA(GetForegroundWindow(),"Panel AD Killer made by Panel www.52pojie.cn");

  21.     if (!Init())
  22.     {
  23.         return 0;
  24.     }

  25.     HANDLE hThread;
  26.     hThread = CreateThread(
  27.         NULL,                  
  28.         0,                     
  29.         (LPTHREAD_START_ROUTINE)FindAd,        
  30.         NULL,            
  31.         0,               
  32.         NULL);           

  33.     // 消息循环
  34.     MSG msg = { 0 };
  35.     while (GetMessage(&msg, NULL, 0, 0) != 0) {
  36.         if (msg.wParam == 1) {
  37.             GetWnd(hWnd, wndtitle);
  38.             WriteRules(wndtitle);
  39.         }if (msg.wParam == 2)
  40.         {
  41.             ShowHide();
  42.         }
  43.         if (msg.message == WM_CLOSE) {

  44.             ShowWindow(hWnd, SW_HIDE);
  45.         }
  46.     }
  47. }

  48. bool Init()
  49. {
  50.     BOOL flag;
  51.     if (RegisterHotKey(NULL, 1, MOD_CONTROL | MOD_ALT, 'E')) {
  52.         cout << "初始化成功1\n";
  53.         flag = true;
  54.     }
  55.     else {
  56.         cout << "初始化失败,热键可能被占用1\n";
  57.         flag = false;
  58.     }
  59.     if (RegisterHotKey(NULL, 2, MOD_CONTROL | MOD_ALT, 'T')) {
  60.         cout << "初始化成功2\n";
  61.         flag = true;
  62.     }
  63.     else {
  64.         cout << "初始化失败,热键可能被占用2\n";
  65.         flag = false;
  66.     }
  67.     return flag;
  68. }
  69. void GetWnd(HWND& wnd, string& title)
  70. {

  71.     POINT pNow = { 0,0 };
  72.     if (GetCursorPos(&pNow))
  73.     {
  74.         HWND hwndPointNow = NULL;
  75.         hwndPointNow = WindowFromPoint(pNow);  
  76.         wnd = hwndPointNow;
  77.         if (hwndPointNow)
  78.         {
  79.             char szWindowTitle[50];
  80.             ::GetWindowTextA(hwndPointNow, szWindowTitle, sizeof(szWindowTitle));
  81.             title = string(szWindowTitle);
  82.             //cout << hex << (int)hwndPointNow << endl;  
  83.             cout << szWindowTitle << endl;
  84.         }
  85.         else
  86.             cout << "Error!!" << endl;
  87.     }
  88. }
  89. void WriteRules(string rule)
  90. {
  91.     ofstream file(RULE_FILE,ios::binary|ios::app);
  92.     if (!file.is_open()) {
  93.         std::cerr << "配置文件无法打开" << std::endl;
  94.         return;
  95.     }
  96.     file << rule << std::endl;
  97.     file.close();
  98. }
  99. bool IsHit(string title)
  100. {
  101.     ifstream inputFile(RULE_FILE,ios::app);

  102.     if (!inputFile.is_open()) {
  103.         std::cerr << "无法打开文件" << std::endl;
  104.         return false; // 返回错误代码
  105.     }

  106.     std::string line;
  107.     while (std::getline(inputFile, line)) {
  108.         if (line == title)
  109.         {
  110.             inputFile.close();
  111.             return true;
  112.         }
  113.     }

  114.     return false;
  115. }
  116. void FindAd()
  117. {
  118.     do
  119.     {
  120.         EnumWindows(EnumWindowsProc, 0); Sleep(1000);
  121.     } while (true);
  122. }
  123. void ShowHide()
  124. {
  125.     showflag = !showflag;
  126.     if (showflag)
  127.     {
  128.         ShowWindow(GetForegroundWindow(), SW_HIDE);
  129.     }
  130.     else {
  131.         ShowWindow(GetForegroundWindow(), SW_SHOW);
  132.     }
  133. }
  134. BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
  135.     char windowTitle[256];

  136.     GetWindowTextA(hwnd, windowTitle, sizeof(windowTitle));

  137.     if (string(windowTitle) == "")
  138.     {
  139.         return true;
  140.     }

  141.     if (string(windowTitle).find("shadow") != string::npos)
  142.     {
  143.         PostMessage(hwnd, WM_CLOSE, 0, 0);
  144.     }

  145.     if (IsHit(string(windowTitle)))
  146.     {
  147.         PostMessage(hwnd, WM_CLOSE, 0, 0);
  148.     }

  149.     return TRUE; // 继续列举下一个窗口
  150. }
复制代码





作者: 行走的蜗牛    时间: 2023-12-18 00:40
来瞧瞧的,呵呵
作者: fghjgfkjhgk    时间: 2023-12-18 09:21
支持,赞
作者: Hacker    时间: 2023-12-18 18:03
这个好好支持一下
作者: 501369613    时间: 2023-12-19 02:45
这个不错,谢谢共享
作者: shjia24    时间: 2023-12-19 11:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: lllll557    时间: 2023-12-19 12:35
多上传一点源码
作者: 找找找    时间: 2023-12-19 13:44
谢谢楼主的辛苦分享
作者: asd26297    时间: 2023-12-19 14:53
不错不错 支持下
作者: lllll557    时间: 2023-12-19 16:01
这个好好支持一下
作者: 22222222    时间: 2023-12-19 17:10
感谢您的无私精神...
作者: 黑崎一宇啊    时间: 2023-12-19 23:00
来瞧瞧的,呵呵
作者: sdf    时间: 2023-12-20 04:51
00.000...000
作者: 大米    时间: 2023-12-20 10:41
支持,赞
作者: lllll557    时间: 2023-12-20 16:31
不错哦  喜欢 嘿嘿
作者: 骚年    时间: 2023-12-20 22:21
期待中......
作者: 海绵老爹    时间: 2023-12-21 03:12
谢谢分享好人有好报6666666
作者: 海绵老爹    时间: 2023-12-21 08:04
666666666666666666666666
作者: a1031399528a    时间: 2023-12-21 12:55
好好好好的我要下载看看看
作者: 1377687493qq    时间: 2023-12-21 17:46
支持!!!!!!
作者: 徐少    时间: 2023-12-21 22:37
不错!顶LZ
作者: 123456    时间: 2023-12-22 03:57
9999999999999999
作者: 鸟文是帅逼    时间: 2023-12-22 09:16
豆腐干士大夫
作者: IUYUYUUYUY    时间: 2023-12-22 14:36
鉴定完毕是个好资源
作者: 鸟文是帅逼    时间: 2023-12-22 19:56
学习了,这就去试试
作者: 1791703110    时间: 2023-12-23 01:15
顶起  很好的帖
作者: 476572199    时间: 2023-12-23 03:11
回复查看隐藏内容
作者: a123354    时间: 2023-12-23 05:07
撒大苏打阿斯顿阿斯顿
作者: 444555    时间: 2023-12-23 07:03
嘻嘻不错支持一个
作者: 444555    时间: 2023-12-23 08:59
学习了,这就去试试
作者: 6360120    时间: 2023-12-23 10:56
我表示压力很大
作者: NUNU    时间: 2023-12-23 11:35
6666666666
作者: NUNU    时间: 2023-12-23 12:14
谢谢大人的分享
作者: 呵呵    时间: 2023-12-23 12:54
前来支持~~~~~~~~~~~~~~~~~~~
作者: 佳佳    时间: 2023-12-23 13:33
很给力。。。。很喜欢
作者: 封偌丶    时间: 2023-12-23 14:12
碉堡了!
作者: 大蒜先生    时间: 2023-12-23 14:18
阿斯蒂芬撒反对
作者: csw96781    时间: 2023-12-23 14:23
人设人阿松大
作者: 张杰    时间: 2023-12-23 14:28
谢谢分享!~
作者: 赵金龙    时间: 2023-12-23 14:33
路过还不错
作者: 大蒜先生    时间: 2023-12-23 14:39
必须支持。。。。。。。
作者: few    时间: 2023-12-23 14:40
回复查看隐藏内容
作者: 小粑    时间: 2023-12-23 14:41
感谢这个i资源
作者: Dim星痕    时间: 2023-12-23 14:42
谢谢分享!~
作者: 鸟文是帅逼    时间: 2023-12-23 14:43
嘻嘻不错支持一个
作者: 企鹅6655    时间: 2023-12-23 14:45
非常不错,感谢分享!
作者: asd26297    时间: 2023-12-23 15:25
我知道错了,感谢大神分享
作者: 赵金龙    时间: 2023-12-23 16:06
感谢分享LOL
作者: 找找找    时间: 2023-12-23 16:47
66666666666666666666
作者: haobaba45    时间: 2023-12-23 17:28
谢谢大人的分享
作者: qwe144184    时间: 2023-12-23 18:09
很不错的哦,支持,加油
作者: 唉唉唉    时间: 2023-12-23 18:09
感谢感谢分享
作者: 1791703110    时间: 2023-12-23 18:10
谢谢楼主,,,收藏ing
作者: 舞步    时间: 2023-12-23 18:11
这个好好支持一下
作者: 舞步    时间: 2023-12-23 18:12
我表示压力很大
作者: 1791703110    时间: 2023-12-23 18:12
抢楼了,前排第一次啊




欢迎光临 觅风论坛 (https://www.eyyba.com/) Powered by Discuz! X3.4