渐渐开始明白,原来汇编也很简单

发一个昨天写的关机程序,没测试过`````因为测试成功就要关电脑了

.386
.model flat,stdcall
option casemap:none
include /masm32/include/windows.inc
include /masm32/include/kernel32.inc
include /masm32/include/user32.inc
includelib /masm32/lib/kernel32.lib
includelib /masm32/lib/user32.lib
include /masm32/include/advapi32.inc
includelib /masm32/lib/advapi32.lib
.data
msgtext db "你确定要关闭计算机吗?",0
msgtitle db "confirm",0
privilegename db "SeShutdownPrivilege",0
.data?
tkp TOKEN_PRIVILEGES <>
htoken dd ?
.code
start:
invoke MessageBox,NULL,addr msgtext,addr msgtitle,MB_OKCANCEL
cmp eax,IDOK
jne @f
invoke GetCurrentProcess
invoke OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,addr htoken
invoke LookupPrivilegeValue,NULL,addr privilegename,addr tkp.Privileges[0].Luid
mov tkp.PrivilegeCount,1
mov tkp.Privileges[0].Attributes,SE_PRIVILEGE_ENABLED
invoke AdjustTokenPrivileges,htoken,FALSE,addr tkp,0,NULL,0
invoke ExitWindowsEx,EWX_SHUTDOWN,NULL
@@:
invoke ExitProcess,NULL
end start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值