ExitWindowsEx?

I'm using a Visual C++.net 2005 Express to write a simple app that will turn off my computer but not have a include "windows.h" and I want use API's function ExitWindowsEx.
How can I use this function?
Thanks a lot.
Add the prototype

extern "C" int stdcall ExitWindowsEx( unsigned int uFlags, unsigned long DWORD );

make sure to link with user32.lib, or dynamically link with user32.dll.

That prototype should work on Win32. Good luck.
If you need to shutdown or reboot the mochine with ExitWindowsEx(), you need set some flag about it. and bellow is some code I copy from an website, hope this help.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
HANDLE   hToken;     
  TOKEN_PRIVILEGES   tkp;     
      
  //   Get   a   token   for   this   process.     
      
  if   (!OpenProcessToken(GetCurrentProcess(),     
                  TOKEN_ADJUST_PRIVILEGES   |   TOKEN_QUERY,   &hToken))     
          error("OpenProcessToken");     
      
  //   Get   the   LUID   for   the   shutdown   privilege.     
      
  LookupPrivilegeValue(NULL,   SE_SHUTDOWN_NAME,     
                  &tkp.Privileges[0].Luid);     
      
  tkp.PrivilegeCount   =   1;     //   one   privilege   to   set           
  tkp.Privileges[0].Attributes   =   SE_PRIVILEGE_ENABLED;     
      
  //   Get   the   shutdown   privilege   for   this   process.     
      
  AdjustTokenPrivileges(hToken,   FALSE,   &tkp,   0,     
                  (PTOKEN_PRIVILEGES)NULL,   0);     
      
  //   Cannot   test   the   return   value   of   AdjustTokenPrivileges.     
      
  if   (GetLastError()   !=   ERROR_SUCCESS)     
          error("AdjustTokenPrivileges");     
      
  //   Shut   down   the   system   and   force   all   applications   to   close.     
      
  if   (!ExitWindowsEx(EWX_SHUTDOWN   |   EWX_FORCE,   0))     
          error("ExitWindowsEx");
Last edited on
> how to create a .dll file in c++

Off topic to simply use ExitWindowsEx()
include windows.h and copy MSDN code
http://msdn.microsoft.com/en-us/library/aa376871(vs.85).aspx
Nothing else.
Topic archived. No new replies allowed.