Câu trả lời gốc: Tháng Mười 2008
Bạn cũng có tất cả " rundll32.exe shell32.dll
" serie:
(xem cập nhật bên dưới)
rundll32.exe user.exe,**ExitWindows**
[Tắt nhanh Windows]
rundll32.exe user.exe,**ExitWindowsExec**
[Khởi động lại Windows]
rundll32.exe shell32.dll,SHExitWindowsEx n
nơi n
là viết tắt của:
- 0 -
LOGOFF
- 1 -
SHUTDOWN
- 2 -
REBOOT
- 4 -
FORCE
- số 8 -
POWEROFF
(có thể kết hợp -> 6 = 2 + 4 FORCE REBOOT
)
Cập nhật tháng 4 năm 2015 (hơn 6 năm sau):
1800 THÔNG TIN vui lòng chỉ ra trong các ý kiến :
Đừng sử dụng rundll32.exe
cho mục đích này. Nó hy vọng rằng hàm bạn đã truyền trên dòng lệnh có chữ ký phương thức rất cụ thể - nó không khớp với chữ ký của phương thức ExitWindows
.
Raymond CHEN đã viết:
Chữ ký hàm cần thiết cho các hàm được gọi bởi rundll32.exe
:
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
LPSTR pszCmdLine, int nCmdShow);
Điều đó đã không ngăn mọi người sử dụng rundll32
để gọi các hàm ngẫu nhiên không được thiết kế để được gọi bởi rundll32
, như user32 LockWorkStation
hoặc user32 ExitWindowsEx
.
(Giáo sư)
Chữ ký hàm thực tế cho ExitWindowsEx là:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
Và để làm cho nó rõ ràng:
Rundll32
là một phần còn lại từ Windows 95 và nó đã bị từ chối vì ít nhất là Windows Vista vì nó vi phạm rất nhiều hướng dẫn kỹ thuật hiện đại.