<?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[CreateToolhelp32Snapshot stürzt ab]]></title><description><![CDATA[<p>Nachdem alles prima lief, habe ich den halben Tag mit der Suche nach einem Fehler verbracht. Es geht um die sichere Methode, festzustellen, ob ein anderes Programm gerade aktiv ist. Fenstertitel reicht nicht aus. Weiterhin brauche ich den kompletten Anwendungspfad.</p>
<p>Die Lösung:</p>
<pre><code class="language-cpp">//1. Schleife
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
//...
if (Process32First(hProcessSnap, &amp;pe32))
{
  //Auswertung der Prozessinformationen ...
  //2. Schleife
  HANDLE hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, pe32.th32ProcessID);
  if (Module32First (hModuleSnap, &amp;me32))
  //Auswertung der ersten Modulinformationen
} while (Process32Next(hProcessSnap, &amp;pe32));
</code></pre>
<p>Der Absturz erfolgte beim 2. CreateToolhelp32Snapshot, in welchem ich die Modul-Informationen hole. Hier reicht mir ein Module32First, da ich nur die Informationen für den Prozess selbst und nicht für die benutzten DLL's benötige.</p>
<p>Ursache waren zwei(!!) tote Instanzen von Outlook, die zum Absturz führten. Nach Abschuss der Instanzen über den Taskmanager lief wieder alles einwandfrei.</p>
<p>Nun kann ich bei einigen tausend Anwendern nicht davon ausgehen, das deren Taskliste zum Zeitpunkt der Programmausführung, wie ja auch in meinem Fall, sauber ist. Ein Hänger wäre sehr unangenehm (auch für die Hotline, da das Programm in diesem Falle bei ziemlich vielen Leuten gleichzeitig hängen dürfte).</p>
<p>Hat jemand eine Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/99344/createtoolhelp32snapshot-stürzt-ab</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 03:49:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/99344.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Jan 2005 15:09:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CreateToolhelp32Snapshot stürzt ab on Thu, 27 Jan 2005 15:10:45 GMT]]></title><description><![CDATA[<p>Nachdem alles prima lief, habe ich den halben Tag mit der Suche nach einem Fehler verbracht. Es geht um die sichere Methode, festzustellen, ob ein anderes Programm gerade aktiv ist. Fenstertitel reicht nicht aus. Weiterhin brauche ich den kompletten Anwendungspfad.</p>
<p>Die Lösung:</p>
<pre><code class="language-cpp">//1. Schleife
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
//...
if (Process32First(hProcessSnap, &amp;pe32))
{
  //Auswertung der Prozessinformationen ...
  //2. Schleife
  HANDLE hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, pe32.th32ProcessID);
  if (Module32First (hModuleSnap, &amp;me32))
  //Auswertung der ersten Modulinformationen
} while (Process32Next(hProcessSnap, &amp;pe32));
</code></pre>
<p>Der Absturz erfolgte beim 2. CreateToolhelp32Snapshot, in welchem ich die Modul-Informationen hole. Hier reicht mir ein Module32First, da ich nur die Informationen für den Prozess selbst und nicht für die benutzten DLL's benötige.</p>
<p>Ursache waren zwei(!!) tote Instanzen von Outlook, die zum Absturz führten. Nach Abschuss der Instanzen über den Taskmanager lief wieder alles einwandfrei.</p>
<p>Nun kann ich bei einigen tausend Anwendern nicht davon ausgehen, das deren Taskliste zum Zeitpunkt der Programmausführung, wie ja auch in meinem Fall, sauber ist. Ein Hänger wäre sehr unangenehm (auch für die Hotline, da das Programm in diesem Falle bei ziemlich vielen Leuten gleichzeitig hängen dürfte).</p>
<p>Hat jemand eine Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/707853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/707853</guid><dc:creator><![CDATA[Manfred Schmidtke]]></dc:creator><pubDate>Thu, 27 Jan 2005 15:10:45 GMT</pubDate></item><item><title><![CDATA[Reply to CreateToolhelp32Snapshot stürzt ab on Thu, 27 Jan 2005 15:17:09 GMT]]></title><description><![CDATA[<p>vielleicht den HANDLE auf INVALID_HANDLE_VALUE prüfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/707869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/707869</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Thu, 27 Jan 2005 15:17:09 GMT</pubDate></item><item><title><![CDATA[Reply to CreateToolhelp32Snapshot stürzt ab on Fri, 28 Jan 2005 16:30:21 GMT]]></title><description><![CDATA[<p>Hab ich jetzt mal als selbstverständlich angesehen. Natürlich<br />
werden die Handles auf INVALID_HANDLE_VALUE geprüft.</p>
<p>Problem über Thread unter Mithilfe dieses Forums gelöst.</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/708017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/708017</guid><dc:creator><![CDATA[Manfred Schmidtke]]></dc:creator><pubDate>Fri, 28 Jan 2005 16:30:21 GMT</pubDate></item></channel></rss>