Winapi 在NASM中调用ExitwinDowsecx

Winapi 在NASM中调用ExitwinDowsecx,winapi,assembly,nasm,Winapi,Assembly,Nasm,我有这个NASM代码 extern GetStdHandle extern WriteFile extern AllocConsole extern FreeConsole extern SetConsoleTitleA extern SetConsoleCursorPosition extern Sleep extern ExitProcess extern ExitWindowsEx import GetStdHandle kernel32.dll import Wri

我有这个NASM代码

extern GetStdHandle 
extern WriteFile 
extern AllocConsole 
extern FreeConsole 
extern SetConsoleTitleA 
extern SetConsoleCursorPosition 
extern Sleep 
extern ExitProcess 
extern ExitWindowsEx


import GetStdHandle kernel32.dll 
import WriteFile kernel32.dll 
import AllocConsole kernel32.dll 
import FreeConsole kernel32.dll 
import SetConsoleTitleA kernel32.dll 
import SetConsoleCursorPosition kernel32.dll 
import Sleep kernel32.dll 
import ExitProcess kernel32.dll 
import ExitWindowsEx user32.dll

. 
section .text use32 

..start: 

call [ExitWindowsEx]
当我执行它时,它不会执行关闭计算机的功能。我读到它需要参数,但是我们如何在C中传递这样的参数呢#


我假设您使用的是32位英特尔体系结构。在这种情况下,必须在堆栈中传递参数

mov eax, 1
mov ebx, 0
push eax
push ebx
call [ExitWindowsEx]

我假设您使用的是32位Intel架构。在这种情况下,必须在堆栈中传递参数

mov eax, 1
mov ebx, 0
push eax
push ebx
call [ExitWindowsEx]

“要关闭或重新启动系统,调用进程必须使用AdjustTokenPrivileges功能启用SE_SHUTDOWN_NAME权限。有关更多信息,请参阅以特殊权限运行。”()“要关闭或重新启动系统,调用进程必须使用AdjustTokenPrivileges功能启用SE_SHUTDOWN_NAME权限。有关更多信息,请参阅以特殊权限运行。“()我们如何在tasm中包括user32和extern并调用exitwindowsex?我不知道关于tasm对不起。我们如何在tasm中包括user32和extern并调用exitwindowsex?我不知道关于tasm对不起。