回 帖 发 新 帖 刷新版面

主题:[讨论]高手请进:WINDOWS下面关机,重启程序

请教高手:
    我希望用汇编写一个程序,使之能在OS下实现shutdown和reset,或在DOS下面实现也可.编辑器是ML615.
大家讨论.

回复列表 (共3个回复)

沙发

需要的话请留言,完全汇编下用Win32实现。

板凳

_Shutdown    proc
    local    @hToken, @hCurrentProcess, @tkp:TOKEN_PRIVILEGES
        invoke    GetCurrentProcess
        mov    @hCurrentProcess,eax
        invoke    OpenProcessToken, @hCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,addr @hToken
        invoke    LookupPrivilegeValue,NULL,addr szSE_SHUTDOWN_NAME,addr @tkp.Privileges[0].Luid
        mov    @tkp.PrivilegeCount,1
        mov    @tkp.Privileges[0].Attributes,SE_PRIVILEGE_ENABLED
        invoke    AdjustTokenPrivileges, @hToken,FALSE,addr @tkp,NULL,NULL,NULL
        invoke    ExitWindowsEx,EWX_SHUTDOWN or EWX_POWEROFF,NULL
        ret
_Shutdown    endp

我写的关机程序,修改“invoke    ExitWindowsEx,EWX_SHUTDOWN or EWX_POWEROFF,NULL”一句里的参数,就可以关机后重启了,抱歉不想查了:)

3 楼

这是Windows下关机子程序,别以为关机很容易:) 
“EWX_SHUTDOWN or EWX_POWEROFF” 你查查资料,修改一下就能关机后重启了。不能什么都替你做了,呵呵。

其实很痛苦着把自己辛辛苦苦弄出的东东无私奉献了

我来回复

您尚未登录,请登录后再回复。点此登录或注册