WH_CBT监控有窗体的进程创建
2014-02-26 01:00
405 查看
很久很久以前搜到以前博客的一篇文章,一个项目要求是在Windows Server 2008 x64 R2下监控有窗体的cmd/powershell创建,当时采用了WH_CBT应用层消息拦截的方法来监控进程创建。
1 BOOL WINAPI SetHook(BOOL fInstall) { 2 3 BOOL fOk; 4 if (fInstall) 5 { 6 7 if (g_hhook == NULL) 8 { 9 //error 10 } 11 g_hhook = SetWindowsHookEx(WH_CBT, CBTProc, g_hinstDll, 0); 12 fOk = (g_hhook != NULL); 13 } 14 else 15 { 16 17 if (g_hhook != NULL) 18 { 19 // Can't uninstall if not installed 20 } 21 fOk = UnhookWindowsHookEx(g_hhook); 22 g_hhook = NULL; 23 } 24 25 return(fOk); 26 } 27 28 LRESULT CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam) 29 { 30 static HWND g_hWndDialog = NULL; 31 switch (nCode) 32 { 33 case HCBT_CREATEWND: 34 { 35 HWND hWnd = (HWND)wParam; 36 LPCBT_CREATEWND pcbt = (LPCBT_CREATEWND)lParam; 37 LPCREATESTRUCT pcs = pcbt->lpcs; 38 if ((DWORD)(pcs->dwExStyle) == 0x40310) 39 { 40 MessageBox(NULL, NULL, L"Shell open!", 0); 41 g_hWndDialog = hWnd; 42 } 43 break; 44 } 45 default: 46 break; 47 } 48 return CallNextHookEx(g_hhook, nCode, wParam, lParam); 49 }
相关文章推荐
- linux 硬盘空间查看常用命令
- 【PHP】 让PHP执行Linux命令
- 构建高并发高可用的电商平台架构实践
- 腾讯大规模Hadoop集群实践
- 4年成为一个产品线的架构师!我操,我他妈太慢了!
- 打听nofollow标签能力做好网站seo优化
- mount: wrong fs type, bad option, bad superblock on /dev/loop0
- Linux的文件搜索神器-find
- 关于Block的copy和循环引用的问题
- Tomcat安装(也有jdk,eclipse)
- NSCopying协议和copy方法
- Linux主机变身路由器 推荐
- 网站内容禁止复制和粘贴、另存为的js代码
- 我的《鸟哥的Linux私房菜》笔记(四)关于查阅档案内容
- Linux的启动SD卡的格式化方法
- 购买虚拟主机时应正确选择服务商
- apache web服务器移植
- 怎么样挑选关键才才能让网站优化效果超凡出众
- RPM 截取包名和版本号 shell 脚本
- shell 显示文件的行数