找回密码
 加入
搜索
楼主: txm888

[AU3基础] 请教如何让服务程序检测到关机指令?论坛的捕获关机指令示例都是针对有窗口的

 火.. [复制链接]
 楼主| 发表于 2011-10-28 17:21:57 | 显示全部楼层
回复 15# user3000


    嗯,,,,呵呵,刚刚又试了下拦截关机程序,发现在真正关机前,系统进程一个也不退,这下没捞毛了,可能无法从进程上判断了,
 楼主| 发表于 2011-10-28 17:36:31 | 显示全部楼层
服务程序检测是否关机?可以不可以检测某服务被停止,而判断为关机呢?
发表于 2011-10-28 18:02:15 | 显示全部楼层
楼主如果有耐心,先看看p侠那个关于进程的操作,某种意义上说就是你这个问题的通用解释,那个是挂到系统核心的,关机比那个相对简单些
发表于 2011-10-28 21:11:57 | 显示全部楼层
http://www.autoitx.com/forum.php?mod=viewthread&tid=18188
看此贴

其中这一句 换为
$pCopyFileExW = _RTGetProcAddress("user32.dll", "ExitWindowsEx")
即可阻止关机

hook ExitWindowsEx
发表于 2011-10-28 21:13:35 | 显示全部楼层
当然其他的得你自己改改才适用 可以截获关机/重启等命令
发表于 2011-10-28 22:00:02 | 显示全部楼层
我曾经也想截获windows的shutdown命令,但一直未果,hook真的不懂,研究感觉很吃力,同志还需努力啊!
发表于 2011-10-29 09:36:05 | 显示全部楼层
服务程序的回调控制函数 可以接收关机、预关机的通知,调用SetServiceStatus函数向SCM报告服务状态时,把表示关机的数据位包含进 可控制的服务请求中就可以了(用BitOR函数)。当准备关机时,系统将自动调用服务程序的控制函数,并将控制代码设为SERVICE_CONTROL_PRESHUTDOWN(将要关机),或SERVICE_CONTROL_SHUTDOWN(正在关机)。
具体请参考:http://msdn.microsoft.com/en-us/library/ms683241(v=VS.85).aspx
发表于 2011-10-29 12:43:44 | 显示全部楼层
回复 22# pusofalse
非常深奥且专业的讲解,学习ing...
 楼主| 发表于 2011-11-17 16:19:58 | 显示全部楼层
回复 22# pusofalse


    太感谢P版了,,我再测试测试,在此也谢谢各位的参与,
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 16:51 , Processed in 0.084861 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表