如何用VB实现拦截WINDOWS消息,在任何可执行程序运行之前就报警?
如何用VB实现拦截WINDOWS消息,在任何可执行程序运行之前就报警???指出要运行的文件名称,路径等。然后再可控制是否可允许其运行。相当于做到病毒监测软件的功能。在程序...
如何用VB实现拦截WINDOWS消息,在任何可执行程序运行之前就报警???
指出要运行的文件名称,路径等。然后再可控制是否可允许其运行。
相当于做到 病毒监测软件的功能。在程序运行之前就知道。 展开
指出要运行的文件名称,路径等。然后再可控制是否可允许其运行。
相当于做到 病毒监测软件的功能。在程序运行之前就知道。 展开
3个回答
2013-11-22
展开全部
Windows消息的方法没用过……
3个想法:
1. Timer定时枚举系统进程,发现新的进行处理;
2. 订阅WMI事件通知,得到通知后进行处理;
3. 修改注册表HKEY_CLASSES_ROOT\exefile\shell\open\command下的默认键,改成"你的程序 %1",Exe运行时就会先执行你的程序,然后判断;
前两种方法都是马后炮,程序运行了才得到通知,即使你停止它,可能它已经进行过破坏……
第三种方法好些,但需要费些心思考虑应用程序参数的问题,要不然会出大问题,因为像Winlogon之类的程序都要经过你的判断,一旦失误就是Crash……
至于杀毒软件的方法,可能是Hook吧……但像赛门铁克这样的大公司一般都是有MS的源代码支持,直接从内核下手……
3个想法:
1. Timer定时枚举系统进程,发现新的进行处理;
2. 订阅WMI事件通知,得到通知后进行处理;
3. 修改注册表HKEY_CLASSES_ROOT\exefile\shell\open\command下的默认键,改成"你的程序 %1",Exe运行时就会先执行你的程序,然后判断;
前两种方法都是马后炮,程序运行了才得到通知,即使你停止它,可能它已经进行过破坏……
第三种方法好些,但需要费些心思考虑应用程序参数的问题,要不然会出大问题,因为像Winlogon之类的程序都要经过你的判断,一旦失误就是Crash……
至于杀毒软件的方法,可能是Hook吧……但像赛门铁克这样的大公司一般都是有MS的源代码支持,直接从内核下手……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询