leon460 发表于 2011-3-30 15:02:28

写一个小的代码 ,怎样阻止系统重启

本帖最后由 leon460 于 2011-3-30 16:58 编辑

有时候我关闭win7时,发现系统说某个进程正在阻止电脑关闭
请问怎样用autoit实现这个功能?我初步推断是 程序调用系统某些东西,
有试过的哥们给个代码测试下,,谢谢了

补充说明下,我要的效果是:运行一个脚本后,系统不能关机或者启动了。

boyhong 发表于 2011-3-30 15:15:05

shutdown(6)

papapa314 发表于 2011-3-30 16:45:30

回复 2# boyhong


    厄,这个是强制重启吧

leon460 发表于 2011-3-30 16:59:25

回复 2# boyhong


   呵呵,理解错误了,我要的效果是系统在运行此脚本后,不能自然关机或者 重启电脑

leon460 发表于 2011-3-30 16:59:42

回复 2# boyhong


   呵呵,理解错误了,我要的效果是系统在运行此脚本后,不能自然关机或者 重启电脑

wtping 发表于 2011-3-31 02:26:52

我也想知道怎么实现,还有就是运行了如果按了重启键又怎么办

lxz 发表于 2011-3-31 07:56:18

win7系统好用吗?

leon460 发表于 2011-3-31 12:58:49

回复 7# lxz

我说蛮好用的了,不过要看自己试试看了,,好像偏离主题了-- 呵呵呵

leon460 发表于 2011-3-31 13:51:00

自己再顶下,希望有知道的人帮忙下

502762378 发表于 2011-4-2 10:16:24

win7用得不是很舒服

leon460 发表于 2011-4-8 11:25:54

再次顶下,盼望有经验的人过来看看

飘云 发表于 2011-4-8 13:16:32

没听说过关机还能阻止的,占位看高人解答

CCTRV 发表于 2011-4-8 20:49:59

http://www.vbaccelerator.com/home/VB/Tips/Preventing_Logoff_or_Shutdown/article.asp

看看这个....

pusofalse 发表于 2011-4-8 21:37:23

提示某个进程正在阻止电脑关闭,应该是那个进程截取了WM_QUERYENDSESSION消息,我用此方法在XP SP3中测试没成功过,论坛中有这样的一个例子。

以下这段代码,删除explorer.exe进程令牌中的SeShutdownPrivilege特权,阻止通过explorer关机、重启或待机。在XP SP3中测试成功,在WIN7中应该也可以。

#include <Thread.au3>
#include <lsasecur.au3>

Local $hThread, $hToken, $hRestrictToken, $hDupToken, $aPriv = [$SE_SHUTDOWN_PRIV]

_RTGetWindowThreadProcessId(WinGetHandle(""))
$hThread = _SeOpenThread(@extended, $SE_THREAD_SET_THREAD_TOKEN)
If $hThread < 1 Then
        MsgBox(48, "Error", _SeFormatMsg())
        Exit
EndIf

$hToken = _SeOpenProcessToken(-1)
$hRestrictToken = _SeCreateRestrictedToken($hToken, 0, 0, $aPriv, 0)
$hDupToken = _SeDuplicateTokenEx($hRestrictToken, $SE_TOKEN_IMPERSONATION)

If _SeSetThreadToken($hThread, $hDupToken) Then
        MsgBox(48, "OK", _SeFormatMsg("", 0))
Else
        MsgBox(48, "Error", _SeFormatMsg())
EndIf

_SeCloseHandle($hDupToken)
_SeCloseHandle($hRestrictToken)
_SeCloseHandle($hToken)
_SeCloseHandle($hThread)

xxoojoeooxx 发表于 2011-4-8 22:54:24

回复 14# pusofalse


win7会不太正常
测试完毕
页: [1] 2
查看完整版本: 写一个小的代码 ,怎样阻止系统重启