<?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[Anwendungsstart nur einmal zulassen, aber wie?]]></title><description><![CDATA[<p>Hi ihr.</p>
<p>Der Titel mag villeicht etwas konfus klingen, aber ich erklärs mal kurz.</p>
<p>Ich habe eine kleine Anwendung geschrieben. Diese darf jedoch nur 1 mal aktiv laufen, also auch demnach im Taskmanager nur 1 mal erscheinen.<br />
Ich hab es bisher so gelöst, das die Anwendung eine Datei erstellt und am Ende wieder löscht. Dies war nach folgendem Schema:</p>
<p>Programmstart:<br />
Prüfe ob Datei name.ext besteht<br />
- Wenn ja:<br />
- - Beende Programm (natürlich ohne die Datei zu löschen)<br />
- Wenn nein:<br />
- - Programm führt weitere Schritte aus (den normalen Programmablauf)<br />
Programmende:<br />
Lösche Datei name.ext</p>
<p>Man sieht also hier, dsa anhang einer Dateiüberprüfung festgestellt wird, ob ein Programm bereits läuft. Aber die Sache hat einen gigantischen Nachteil:<br />
Wenn das Programm oder der PC abstürzt, wird dann auch nicht mehr die Datei gelöscht. Das hätte zu Folge, das ein normaler Anwender das Programm nicht mehr starten könnte, da sich die Prüfungsdatei verewigt hat.<br />
Wer von euch hat eine Idee, wie man ein Programm starten kann, was nur einmal am PC laufen darf?<br />
PS: Ich hoffe, das ich unter WinAPI da richtig liege.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152041/anwendungsstart-nur-einmal-zulassen-aber-wie</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 12:55:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152041.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 Jul 2006 11:09:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anwendungsstart nur einmal zulassen, aber wie? on Sun, 02 Jul 2006 11:10:59 GMT]]></title><description><![CDATA[<p>Hi ihr.</p>
<p>Der Titel mag villeicht etwas konfus klingen, aber ich erklärs mal kurz.</p>
<p>Ich habe eine kleine Anwendung geschrieben. Diese darf jedoch nur 1 mal aktiv laufen, also auch demnach im Taskmanager nur 1 mal erscheinen.<br />
Ich hab es bisher so gelöst, das die Anwendung eine Datei erstellt und am Ende wieder löscht. Dies war nach folgendem Schema:</p>
<p>Programmstart:<br />
Prüfe ob Datei name.ext besteht<br />
- Wenn ja:<br />
- - Beende Programm (natürlich ohne die Datei zu löschen)<br />
- Wenn nein:<br />
- - Programm führt weitere Schritte aus (den normalen Programmablauf)<br />
Programmende:<br />
Lösche Datei name.ext</p>
<p>Man sieht also hier, dsa anhang einer Dateiüberprüfung festgestellt wird, ob ein Programm bereits läuft. Aber die Sache hat einen gigantischen Nachteil:<br />
Wenn das Programm oder der PC abstürzt, wird dann auch nicht mehr die Datei gelöscht. Das hätte zu Folge, das ein normaler Anwender das Programm nicht mehr starten könnte, da sich die Prüfungsdatei verewigt hat.<br />
Wer von euch hat eine Idee, wie man ein Programm starten kann, was nur einmal am PC laufen darf?<br />
PS: Ich hoffe, das ich unter WinAPI da richtig liege.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090021</guid><dc:creator><![CDATA[kenny197902]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:10:59 GMT</pubDate></item><item><title><![CDATA[Reply to Anwendungsstart nur einmal zulassen, aber wie? on Sun, 02 Jul 2006 11:12:18 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39088.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39088.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090023</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:12:18 GMT</pubDate></item><item><title><![CDATA[Reply to Anwendungsstart nur einmal zulassen, aber wie? on Sun, 02 Jul 2006 11:25:25 GMT]]></title><description><![CDATA[<p>Als Name bietet es sich an eine GUID zu benutzen. Die kannst du z.B. mit GuidGen.exe generieren, welches beim PSDK dabei ist.</p>
<p>MfG,<br />
:schland: *Ranner* :schland:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090025</guid><dc:creator><![CDATA[*Ranner*]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:25:25 GMT</pubDate></item><item><title><![CDATA[Reply to Anwendungsstart nur einmal zulassen, aber wie? on Sun, 02 Jul 2006 11:26:35 GMT]]></title><description><![CDATA[<p>Ok, dank dir schonmal für die schnelle Hilfe. Das ist genau das, was ich gesucht habe. Eine (bestimmt) dumme Frage hab ich aber.<br />
Ich zitiere mal folgendes:</p>
<blockquote>
<pre><code class="language-cpp">HANDLE    hMutex; 
hMutex = CreateMutex(NULL, TRUE, &quot;MutextName&quot;); 
if(GetLastError() == ERROR_ALREADY_EXISTS) 
{ 
PostQuitMessage(0);//Mutex gibts schon,Programm beenden 
} 
//weiter im Programm
</code></pre>
</blockquote>
<p>Ist die Angabe &quot;MutextName&quot; der direkte Name, wie man ihn auch in der Taskleiste (Caption) verwendet, oder kann man auch den Dateinamen der .exe nehmen? Das Problem bei meiner Anwendung ist, das sich der Caption-Text öfters mal verändert (z.B.erscheint bei Updates der Zusatz &quot;Bitte warten... Aktualisiere&quot;). Gibt es in diesem Fall evtl. eine Möglichkeit, z.B. durch den Dateinamen (wie auch unter Taskmanager-&gt;Prozesse-&gt;Name) die Anwendung zu blocken? Das hört sich evtl. etwas kompliziert an, aber ich hoffe doch, das es Möglichkeiten gäbe, nicht anhand der Caption eine Anwendung zu erkennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090026</guid><dc:creator><![CDATA[kenny197902]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:26:35 GMT</pubDate></item><item><title><![CDATA[Reply to Anwendungsstart nur einmal zulassen, aber wie? on Sun, 02 Jul 2006 11:31:20 GMT]]></title><description><![CDATA[<p>Den Namen dort kannst du frei wählen. Dies ist nur der Name des Mutex und beeinflusst deine Applikationsnamen überhaupt nicht. Wenn du das Programm das zweite mal startest, wird versucht nochmals ein Mutex mit dem gleichen Namen anzulegen, was dann zu dem Fehler ERROR_ALREADY_EXISTS führt.<br />
Wie gesagt, die Namenswahl kannst du hier beliebig treffen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090028</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:31:20 GMT</pubDate></item><item><title><![CDATA[Reply to Anwendungsstart nur einmal zulassen, aber wie? on Sun, 02 Jul 2006 11:31:47 GMT]]></title><description><![CDATA[<p><a href="http://www.flounder.com/nomultiples.htm" rel="nofollow">http://www.flounder.com/nomultiples.htm</a> :schland:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090030</guid><dc:creator><![CDATA[schland]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:31:47 GMT</pubDate></item><item><title><![CDATA[Reply to Anwendungsstart nur einmal zulassen, aber wie? on Sun, 02 Jul 2006 11:39:24 GMT]]></title><description><![CDATA[<p>Ah super. Ich versteh das jetzt mal so, als wenn der Mutex-Name ne Art ID-Nummer ist. Dann wär ja alles in Butter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090037</guid><dc:creator><![CDATA[kenny197902]]></dc:creator><pubDate>Sun, 02 Jul 2006 11:39:24 GMT</pubDate></item><item><title><![CDATA[Reply to Anwendungsstart nur einmal zulassen, aber wie? on Sun, 02 Jul 2006 12:17:25 GMT]]></title><description><![CDATA[<p>kenny197902 schrieb:</p>
<blockquote>
<p>Ah super. Ich versteh das jetzt mal so, als wenn der Mutex-Name ne Art ID-Nummer ist. Dann wär ja alles in Butter <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
</blockquote>
<p>Du hast es richtig verstanden. Der Mutex-Name ist ne Art ID-Nummer (ID-Name). <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1090062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1090062</guid><dc:creator><![CDATA[guenni81]]></dc:creator><pubDate>Sun, 02 Jul 2006 12:17:25 GMT</pubDate></item></channel></rss>