可以看一下我在BCB6 SP4 下编译通过的小东西现在是关机可用"EWX_REBOOT"重启:
#include "winuser.h"
if(ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0));
HANDLE zhToken ;
TOKEN_PRIVILEGES ztkp ;
if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&zhToken));
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&ztkp.Privileges[0].Luid);
ztkp.PrivilegeCount=1 ;
ztkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED ;
AdjustTokenPrivileges(zhToken,FALSE,&ztkp,0,(PTOKEN_PRIVILEGES)NULL,0);
ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0);
关于这方面的东西可在CSDN中看看.
何必那么复杂!调用system("shutdown");函数即可,注意要#include process.h
#include stdlib.h
想赶坏事吧