监视程序运行得钩子程序

原创 2004年09月16日 18:32:00

老是觉得钩子很深奥,最近研究了一下,这是我得代码,可以监视哪些程序被运行以及被销毁。

这是钩子得头文件

#ifndef EXEHOOKAPI
#define EXEHOOKAPI __declspec(dllimport)
#endif
#define USER_MSG??WM_USER+1
#define UC_APPSTART??0x80000001
#define UC_APPDESTROY?0x80000002

EXEHOOKAPI BOOL WINAPI SetHook(HWND hExe);

这是cpp文件

#include
#define EXEHOOKAPI __declspec(dllexport)
#include "ExeHook.h"

#pragma data_seg("shared")
HHOOK?g_hProc =NULL;
HWND?g_hForm = NULL;
#pragma data_seg()
#pragma comment(linker, "/section:shared,rws")
// DLL¾ä±ú
HINSTANCE g_hInstDLL = NULL;
//LRESULT CALLBACK HookedShellProc(int nCode, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK HookedShellProc(int nCode, WPARAM wParam, LPARAM lParam)
{?
?switch(nCode)
?{
?case HSHELL_WINDOWCREATED:??
??PostMessage(g_hForm,USER_MSG,UC_APPSTART,LPARAM(wParam));
??break;
?case HSHELL_WINDOWDESTROYED:??
??PostMessage(g_hForm,USER_MSG,UC_APPDESTROY,LPARAM(wParam));
??break;
?}
?return CallNextHookEx(g_hProc, nCode, wParam, lParam);
}

BOOL WINAPI SetHook(HWND hwndExe)
{
?BOOL bRet;
?if(hwndExe)
?{?
??g_hForm=hwndExe;
??g_hProc=SetWindowsHookEx(WH_SHELL, (HOOKPROC) HookedShellProc, g_hInstDLL, 0);

??bRet = (g_hProc!=NULL);
?}
?else
?{
??bRet=UnhookWindowsHookEx(g_hProc);
??g_hProc=NULL;
??g_hForm=NULL;
?}
?return bRet;
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
? if (fdwReason == DLL_PROCESS_ATTACH)
??? g_hInstDLL = hinstDLL;
? return TRUE;
}

?

?

进程监控程序的开发(程序运行监控)

很多应用程序是需要7*24小时运行的,不知道那个家伙不小心就把你要定时执行的程序关闭了,而且你是运行在右下角任务栏的,不注意根本就不知道被关闭。我写了一个程序实现hqms接口,就是要定时完成推送数据的...
  • panliuwen
  • panliuwen
  • 2015年09月23日 00:37
  • 1188

钩子的应用: 程序运行监视

钩子的应用: 程序运行监视 Victor Chen, (C++ 爱好者)程序介绍:利用这个程序: 1.可以监视在你的电脑运行的程序, 把在你的...
  • chinawash
  • chinawash
  • 2006年11月24日 21:25
  • 1134

钩子的应用: 程序运行监视

 钩子的应用: 程序运行监视   作者:Victor Chen来自:C++ 爱好者http://www.cppfans.com-------------------------------------...
  • gdhuman
  • gdhuman
  • 2008年07月21日 15:44
  • 718

钩子程序

钩子程序钩子程序是在内存中可以不断的在内存中拦截你要控制设备的消息并且可以对该消息进行处理过滤。 钩子是WINDOWS留给我们的后门,比如你想控制键盘,在DOS时代很简单通过INT即可,而WINDO...
  • sunears
  • sunears
  • 2007年11月01日 17:03
  • 3029

VB无所不能之六:对程序运行的监控

VB无所不能之六:对程序运行的监控 ——作者:钟声博客地址:http://blog.csdn.net/useway 转眼间,本系列文章已经写到了第六个,今天写点什么呢?还是得写,看似VB做不到的事情,...
  • useway
  • useway
  • 2010年04月16日 16:00
  • 4373

vc全局钩子实现程序监控

再来做一个全局钩子的程序。 程序大体功能: 1.可以监视在你的电脑运行的程序, 把在你的电脑运行过的程序的时间和名字记录下来; 2.可以挖出不是经过你自己允许而自动运行的程序,大部分木马都是自己...
  • bberdong
  • bberdong
  • 2013年07月25日 09:13
  • 2482

C#软件监控外部程序运行状态

需要外挂一个程序,用于监控另一个程序运行状态,一旦检测到另一程序关闭,就触发一个事件做其他处理。 引用的类 using System.Diagnostics;//引入Process 类 ...
  • liucheng5037
  • liucheng5037
  • 2014年11月27日 16:57
  • 2193

Shell脚本实例(一) 监控一个程序的运行情况

一、问题描述:         监控指定程序是否运行,如果程序没有运行,那么启动程序。 二、解决思路:         、我们判断一个程序是否运行,可以通过查看该程序的进程信息来判断。      ...
  • SunXiWang
  • SunXiWang
  • 2017年11月26日 16:31
  • 398

java中addShutdownHook钩子程序用途

通过我们的程序中运行完之后都会进行一些清理工作,比如关闭数据库资源,同步等操作。这时我们的钩子函数addShutdownHook有了用武之地。 1.钩子程序执行时机: 当程序正常退出,系统调用 S...
  • xqhadoop
  • xqhadoop
  • 2017年03月15日 21:08
  • 1139

开发一个检测钩子程序的工具

一、引言 Windows系统是建立在事件驱动的机制...
  • chinawash
  • chinawash
  • 2006年08月30日 13:10
  • 2295
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:监视程序运行得钩子程序
举报原因:
原因补充:

(最多只允许输入30个字)