<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Shutdown selbst einleiten (mit QueryEndSession)?]]></title><description><![CDATA[<p>Hi!<br />
Ich bin gerade dabei ein Programm zu schreiben dass sich beim Hochfahren selbst startet und mir in einer Datei protokolliert wie lange ich immer am Rechner sitze...damit ich nicht immer die Zeiten aufschreiben muss *g*<br />
Um mal eine Statistik darüber zu führen und die Übung mit der WinAPI nicht zu verlieren, weil ich daweil nur fürs Studium mit Java programmieren muss...<br />
soweit so gut...<br />
Ich wollte das Programm jetzt um die Funktion &quot;Shutdown in n-minutes&quot; erweitern<br />
Also dass ich eingeben kann in wie vielen Minuten der Rechner herunterfahren soll...<br />
Ist ja eigentlich auch leicht, Eingabe-Timer-Shutdown...<br />
Allerdings habe ich beim Shutdown das Problem dass ich nicht weiß wie das unter Windows am Besten zu realisieren ist...</p>
<p>Ich hab in der MSDN nur QueryEndSession gefunden...</p>
<p>1.)<br />
Hab ich es so richtig verstanden dass die WM gesendet wird wenn der PC heruntergefahren wird...? Wenn ja könnte ich die Message in meinem Programm abfangen, die vergangene Zeit speichern und das Programm beenden?</p>
<p>2.)<br />
Wenn ich nun die Shutdown-Funktion implementieren will, kann ich dann die QueryEndSession, selbst verschicken wodurch der PC heruntergefahren wird, oder ist die WM nur eine Folge des Herunterfahrens-Prozesses?<br />
Wenn ja wie verschicke ich die am Besten? Oder kennt ihr eine Funktion um den PC herunterzufahren?</p>
<p>Wäre super wenn ihr mir helfen könntet</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166623/shutdown-selbst-einleiten-mit-queryendsession</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 01:50:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166623.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Nov 2006 21:23:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Shutdown selbst einleiten (mit QueryEndSession)? on Thu, 30 Nov 2006 21:23:58 GMT]]></title><description><![CDATA[<p>Hi!<br />
Ich bin gerade dabei ein Programm zu schreiben dass sich beim Hochfahren selbst startet und mir in einer Datei protokolliert wie lange ich immer am Rechner sitze...damit ich nicht immer die Zeiten aufschreiben muss *g*<br />
Um mal eine Statistik darüber zu führen und die Übung mit der WinAPI nicht zu verlieren, weil ich daweil nur fürs Studium mit Java programmieren muss...<br />
soweit so gut...<br />
Ich wollte das Programm jetzt um die Funktion &quot;Shutdown in n-minutes&quot; erweitern<br />
Also dass ich eingeben kann in wie vielen Minuten der Rechner herunterfahren soll...<br />
Ist ja eigentlich auch leicht, Eingabe-Timer-Shutdown...<br />
Allerdings habe ich beim Shutdown das Problem dass ich nicht weiß wie das unter Windows am Besten zu realisieren ist...</p>
<p>Ich hab in der MSDN nur QueryEndSession gefunden...</p>
<p>1.)<br />
Hab ich es so richtig verstanden dass die WM gesendet wird wenn der PC heruntergefahren wird...? Wenn ja könnte ich die Message in meinem Programm abfangen, die vergangene Zeit speichern und das Programm beenden?</p>
<p>2.)<br />
Wenn ich nun die Shutdown-Funktion implementieren will, kann ich dann die QueryEndSession, selbst verschicken wodurch der PC heruntergefahren wird, oder ist die WM nur eine Folge des Herunterfahrens-Prozesses?<br />
Wenn ja wie verschicke ich die am Besten? Oder kennt ihr eine Funktion um den PC herunterzufahren?</p>
<p>Wäre super wenn ihr mir helfen könntet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184950</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Thu, 30 Nov 2006 21:23:58 GMT</pubDate></item><item><title><![CDATA[Reply to Shutdown selbst einleiten (mit QueryEndSession)? on Thu, 30 Nov 2006 21:27:58 GMT]]></title><description><![CDATA[<p>Kuldren schrieb:</p>
<blockquote>
<p>Ich bin gerade dabei ein Programm zu schreiben dass sich beim Hochfahren selbst startet und mir in einer Datei protokolliert wie lange ich immer am Rechner sitze...damit ich nicht immer die Zeiten aufschreiben muss *g*</p>
</blockquote>
<p>Warum liest Du nicht einfach das Event-Log aus... da steht alles drin...</p>
<p>Kuldren schrieb:</p>
<blockquote>
<p>Ist ja eigentlich auch leicht, Eingabe-Timer-Shutdown...<br />
Allerdings habe ich beim Shutdown das Problem dass ich nicht weiß wie das unter Windows am Besten zu realisieren ist...</p>
</blockquote>
<p>InitiateSystemShutdown oder ExitWindows(Ex)<br />
Steht glaub auch was in der FAQ dazu drin...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184955</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 30 Nov 2006 21:27:58 GMT</pubDate></item><item><title><![CDATA[Reply to Shutdown selbst einleiten (mit QueryEndSession)? on Thu, 30 Nov 2006 21:34:53 GMT]]></title><description><![CDATA[<blockquote>
<p>Warum liest Du nicht einfach das Event-Log aus... da steht alles drin...</p>
</blockquote>
<p>Wusste nicht dass es sowas gibt, bzw. ich bastle das Programm ja nur zur Übung, aber wie kann ich auf das Event Log zugreifen?</p>
<blockquote>
<p>InitiateSystemShutdown oder ExitWindows(Ex)<br />
Steht glaub auch was in der FAQ dazu drin...</p>
</blockquote>
<p>Hab was für NT 4.0 gefunden...ist das für XP/ME gleich?<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39359.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39359.html</a><br />
Bei dem Beispielcode gibt es als Parameter ein &quot;TObject *Sender&quot;...leider kann ich damit gar nichts anfangen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184956</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Thu, 30 Nov 2006 21:34:53 GMT</pubDate></item><item><title><![CDATA[Reply to Shutdown selbst einleiten (mit QueryEndSession)? on Thu, 30 Nov 2006 21:48:03 GMT]]></title><description><![CDATA[<p>Der FAQ Eintrag sollte schon passen...</p>
<p>Bzgl EventLog:<br />
<a href="http://support.microsoft.com/kb/196452/en-us" rel="nofollow">http://support.microsoft.com/kb/196452/en-us</a><br />
<a href="http://support.microsoft.com/kb/232243/en-us" rel="nofollow">http://support.microsoft.com/kb/232243/en-us</a></p>
<p>Bzgl. EventLog auslesen:<br />
Reading the Event Log<br />
<a href="http://msdn2.microsoft.com/en-gb/library/aa363676.aspx" rel="nofollow">http://msdn2.microsoft.com/en-gb/library/aa363676.aspx</a><br />
und<br />
<a href="http://msdn2.microsoft.com/en-gb/library/aa363644.aspx" rel="nofollow">http://msdn2.microsoft.com/en-gb/library/aa363644.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184965</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Thu, 30 Nov 2006 21:48:03 GMT</pubDate></item><item><title><![CDATA[Reply to Shutdown selbst einleiten (mit QueryEndSession)? on Thu, 30 Nov 2006 21:56:38 GMT]]></title><description><![CDATA[<p>bzgl. EventLog...<br />
Danke!<br />
Werde mir mal alles ansehen!</p>
<p>Wegen Shutdown..werde ich auch versuchen zu implementieren!</p>
<p>Danke auf jeden Fall für die schnelle Antwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1184971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1184971</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Thu, 30 Nov 2006 21:56:38 GMT</pubDate></item><item><title><![CDATA[Reply to Shutdown selbst einleiten (mit QueryEndSession)? on Fri, 01 Dec 2006 15:32:31 GMT]]></title><description><![CDATA[<p>hmm das mitm Shutdown ist eigentlich ganz einfach <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

/**************************************************/
/* - EWX_LOGOFF: Logoff the current user.         */
/* - EWX_RESTART: Simply restart the computer.    */
/* - EWX_SHUTDOWN: Shut down but 'AT' style.      */
/* - EWX_POWEROFF: Shut down but 'ATX' style.     */
/* - EWX_FORCE: Force.                            */
/* - EWX_REBOOT: Reboot.                          */
/**************************************************/
void ShutdownSystem(UINT uFlags = EWX_POWEROFF);

void ShutdownSystem(UINT uFlags)
{
    HANDLE           hToken; 
    TOKEN_PRIVILEGES tknpriv;

    OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &amp;hToken);
    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &amp;tknpriv.Privileges[0].Luid);
    tknpriv.PrivilegeCount = 1;
    tknpriv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    AdjustTokenPrivileges(hToken, false, &amp;tknpriv, 0, (PTOKEN_PRIVILEGES)NULL, 0);
    ExitWindowsEx(uFlags, 0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1185379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1185379</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 01 Dec 2006 15:32:31 GMT</pubDate></item><item><title><![CDATA[Reply to Shutdown selbst einleiten (mit QueryEndSession)? on Sat, 02 Dec 2006 11:17:14 GMT]]></title><description><![CDATA[<p>Nur als Ergänzung, falls noch interessant: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-165555-and-start-is-10.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-165555-and-start-is-10.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1185720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1185720</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Sat, 02 Dec 2006 11:17:14 GMT</pubDate></item></channel></rss>