Connecting Tech Pros Worldwide Help | Site Map

C++ Programm - Shutdown win2k

Andreas Horneff
Guest
 
Posts: n/a
#1: Jul 22 '05
Hi at all,

I've got this function (written in BC++)

bool TShutdown::MySystemShutdown()
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;

// Get a token for this process.

if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
return( FALSE );

// 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);

if (GetLastError() != ERROR_SUCCESS)
return FALSE;

// Shut down the system and force all applications to close.

if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))
return FALSE;

return TRUE;
}

Now my problem. When I execute this funtion on my Laptop, running with
WinXP, my Laptop shuts
down and switchs off.

On my other system, running with win2k, win2k shut down, but the PC didn't
switch off. My Mainboard
supports this function. When I click at 'Start', 'Shutdown', the PC switchs
off, after shutdown. Why
dosen't it switch off, when I run my Function?! Can anyone help me?
Or can anyone tell me an other way, to realize that?!

THX a lot!!!

(The function isn't written by myself, I found it at the WWW)

Sorry for my bad english...

Andreas


lallous
Guest
 
Posts: n/a
#2: Jul 22 '05

re: C++ Programm - Shutdown win2k


"Andreas Horneff" <G.randmaster@gmx.de> wrote in message
news:cfq172$f6r$02$1@news.t-online.com...[color=blue]
> Hi at all,
>
> I've got this function (written in BC++)
>
> bool TShutdown::MySystemShutdown()
> {
> HANDLE hToken;
> TOKEN_PRIVILEGES tkp;
>
> // Get a token for this process.
>
> if (!OpenProcessToken(GetCurrentProcess(),
> TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
> return( FALSE );
>
> // 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);
>
> if (GetLastError() != ERROR_SUCCESS)
> return FALSE;
>
> // Shut down the system and force all applications to close.
>
> if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))
> return FALSE;
>
> return TRUE;
> }
>
> Now my problem. When I execute this funtion on my Laptop, running with
> WinXP, my Laptop shuts
> down and switchs off.
>
> On my other system, running with win2k, win2k shut down, but the PC didn't
> switch off. My Mainboard
> supports this function. When I click at 'Start', 'Shutdown', the PC[/color]
switchs[color=blue]
> off, after shutdown. Why
> dosen't it switch off, when I run my Function?! Can anyone help me?
> Or can anyone tell me an other way, to realize that?!
>
> THX a lot!!!
>
> (The function isn't written by myself, I found it at the WWW)
>
> Sorry for my bad english...
>
> Andreas
>
>[/color]

Hello Andreas,

I would suggest that you re-post this question to
microsoft.public.win32.programmer.kernel.

Here C++ (not related to OS) topics are discussed.

--
Elias


Jack Klein
Guest
 
Posts: n/a
#3: Jul 22 '05

re: C++ Programm - Shutdown win2k


On Mon, 16 Aug 2004 12:10:40 +0200, "Andreas Horneff"
<G.randmaster@gmx.de> wrote in comp.lang.c++:

The fastest way to shut down any version of Windows is to open email
in Outlook Express.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Closed Thread