zb7512511 发表于 2014-9-29 16:24:26

(已解决)如何在注销时执行命令?

本帖最后由 zb7512511 于 2014-10-8 08:13 编辑

比如用户点击注销,然后autoit发送个重启计算机的命令?

haijie1223 发表于 2014-9-29 17:51:19

监控logoff.exe进程?

user3000 发表于 2014-9-29 19:53:45

WINDOWS组策略可以设置登录或注销时运行的脚本。

tvzml 发表于 2014-9-29 20:13:53


OnAutoItExitRegister("ItExit")
While 1
WEnd
Func ItExit()
        If @exitMethod = 3 Then
                _WinAPI_NtShutdownSystem(1) ;检测到注销,执行快速重启.
        EndIf
        If @exitMethod = 4 Then
                _WinAPI_NtShutdownSystem(2) ;检测到关机,执行闪电关机.
        EndIf
EndFunc   ;==>ItExit
Func _WinAPI_NtShutdownSystem($flags = 2) ;1快速重启,2快速关机
        DllCall("ntdll.dll", "int", "RtlAdjustPrivilege", "long", 0x13, "int", True, "int", False, "ptr", DllStructGetPtr(DllStructCreate("int 0")))
        DllCall("ntdll.dll", "int", "NtShutdownSystem", "int", $flags)
EndFunc   ;==>_WinAPI_NtShutdownSystem

dunphy 发表于 2014-9-30 00:15:35

本帖最后由 dunphy 于 2014-10-7 15:03 编辑

回复 1# zb7512511


    4楼已给出代码,但目前3,3,12,X已无函函数...。2.3楼都是达到结果的方法。不错。学习了。请LZ改标题为已解决

header 发表于 2014-10-6 09:18:42

4楼的代码很标准

wangms 发表于 2014-10-6 15:21:00

学习来了。。。。。。。。。。。。。。。。。。。。

chamlien 发表于 2016-12-10 11:19:46

今晚回去试试代码还有没有效果好
页: [1]
查看完整版本: (已解决)如何在注销时执行命令?