<?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[Fremd-Programm überwachen]]></title><description><![CDATA[<p>Hi,</p>
<p>ich kenne das Handle eines bestimmten Prozesses auf meinem Rechner. Diesen Prozess (bzw. Programm) überwache ich - sollte jemand versehentlich oder bewusst das Programm stoppen, dann erfährt es mein &quot;Überwachungsprogramm&quot; und startet es erneut. Soweit so gut... - was ich jetzt noch in meinem &quot;Überwachungsprogramm&quot; einbauen möchte ist, dass wenn das zu überwachende Programm minimiert wurde automatisch durch das &quot;Überwachungsprogramm&quot; maximiert werden soll.</p>
<p>Dieses &quot;Überwachungsprogramm&quot; soll später als Dienst im Hintergrund laufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/58938/fremd-programm-überwachen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 23:00:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/58938.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Dec 2003 11:06:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fremd-Programm überwachen on Wed, 17 Dec 2003 11:06:03 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich kenne das Handle eines bestimmten Prozesses auf meinem Rechner. Diesen Prozess (bzw. Programm) überwache ich - sollte jemand versehentlich oder bewusst das Programm stoppen, dann erfährt es mein &quot;Überwachungsprogramm&quot; und startet es erneut. Soweit so gut... - was ich jetzt noch in meinem &quot;Überwachungsprogramm&quot; einbauen möchte ist, dass wenn das zu überwachende Programm minimiert wurde automatisch durch das &quot;Überwachungsprogramm&quot; maximiert werden soll.</p>
<p>Dieses &quot;Überwachungsprogramm&quot; soll später als Dienst im Hintergrund laufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418155</guid><dc:creator><![CDATA[q150022]]></dc:creator><pubDate>Wed, 17 Dec 2003 11:06:03 GMT</pubDate></item><item><title><![CDATA[Reply to Fremd-Programm überwachen on Wed, 17 Dec 2003 11:36:14 GMT]]></title><description><![CDATA[<p>schau dir mal</p>
<p>::SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)</p>
<p>an</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418170</guid><dc:creator><![CDATA[C-O-M-M-A-N-D-E-R]]></dc:creator><pubDate>Wed, 17 Dec 2003 11:36:14 GMT</pubDate></item><item><title><![CDATA[Reply to Fremd-Programm überwachen on Wed, 17 Dec 2003 12:09:23 GMT]]></title><description><![CDATA[<p>Das klappt mit dem Befehl:</p>
<p>.ShowWindow(SW_HIDE);</p>
<p>Turbobrain</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418203</guid><dc:creator><![CDATA[turbobrain]]></dc:creator><pubDate>Wed, 17 Dec 2003 12:09:23 GMT</pubDate></item><item><title><![CDATA[Reply to Fremd-Programm überwachen on Wed, 17 Dec 2003 13:56:38 GMT]]></title><description><![CDATA[<p>C-O-M-M-A-N-D-E-R schrieb:</p>
<blockquote>
<p>schau dir mal</p>
<p>::SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)</p>
<p>an</p>
</blockquote>
<p>Wie lautet denn die Message für maximieren? Aber die eigentliche Frage ist: wie krige ich mit, dass das zu überwachende Programm minimiert worden ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418334</guid><dc:creator><![CDATA[q150022]]></dc:creator><pubDate>Wed, 17 Dec 2003 13:56:38 GMT</pubDate></item><item><title><![CDATA[Reply to Fremd-Programm überwachen on Wed, 17 Dec 2003 14:01:40 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Wenn du ein HWND hast, mach folgendes:</p>
<pre><code class="language-cpp">HWND Handle; // Dein HWND
CWnd *pWnd = CWnd::FromHandle(Handle);
if(pWnd-&gt;IsIconic())
{
  // Fenster ist minimiert also maximieren
  pWnd-&gt;ShowWindow(SW_MAXIMIZE);
}
</code></pre>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418341</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Wed, 17 Dec 2003 14:01:40 GMT</pubDate></item><item><title><![CDATA[Reply to Fremd-Programm überwachen on Wed, 17 Dec 2003 16:13:21 GMT]]></title><description><![CDATA[<p>Hi Rapha,</p>
<p>ich kenne nur die Prozess-Id und den HANDLE dieses Prozesses. Diesen HANDLE hole ich mir durch die ID:</p>
<pre><code class="language-cpp">DWORD processID; //mein zu überwachender Prozess
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID);
</code></pre>
<p>Weitere Ideen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418455</guid><dc:creator><![CDATA[q150022]]></dc:creator><pubDate>Wed, 17 Dec 2003 16:13:21 GMT</pubDate></item><item><title><![CDATA[Reply to Fremd-Programm überwachen on Wed, 17 Dec 2003 16:24:24 GMT]]></title><description><![CDATA[<p>Jep</p>
<p>Klar ist, dass du ohne das Handle auf das Fenster (das du maximieren willst) nicht weiterkommst.</p>
<p>Also &quot;suche&quot; das HWND über den Fenstertitel und die Fensterklasse mit z.B. FindWindow.<br />
Eine &quot;sicherere&quot; Methode wäre, jedes Fenster im System durchzugehen und die id des dazugehörigen Prozesses (GetWindowThreadProcessId) mit (in deinem Beispiel) processID zu vergleichen.<br />
Wenn die id gleich ist, dann hast du das HWND gefunden (wobei du beachten musst, dass es mehrere Fenster gibt).</p>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418459</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Wed, 17 Dec 2003 16:24:24 GMT</pubDate></item><item><title><![CDATA[Reply to Fremd-Programm überwachen on Wed, 17 Dec 2003 16:47:23 GMT]]></title><description><![CDATA[<p>Hallo nochmal,</p>
<p>also ich will ja nicht nerven, aber wie verwendest Du GetWindowThreadProcessId? Woher weiss ich welchen HWND ich übergeben muss um die Prozess-ID zu erhalten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418477</guid><dc:creator><![CDATA[q150022]]></dc:creator><pubDate>Wed, 17 Dec 2003 16:47:23 GMT</pubDate></item><item><title><![CDATA[Reply to Fremd-Programm überwachen on Wed, 17 Dec 2003 16:57:45 GMT]]></title><description><![CDATA[<p>Keine Angst, du nervst nicht <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>
<p>Ich war wohl etwas unpräzise. Mein Vorschlag.<br />
Geh alle Fenster des Systems mit einem CallBack (Stichwort EnumWindows) durch:<br />
Kein kompletter Code, sondern nur der Ansatz:</p>
<pre><code class="language-cpp">BOOL EnumWindows(
  WNDENUMPROC lpEnumWindowProc,  // pointer to callback function
  LPARAM lParam            // application-defined value
);

BOOL CALLBACK EnumWindowsProc( // die Callback Function
  HWND hwnd,      // handle to parent window
  LPARAM lParam   // application-defined value
)
{
  // blablabla
//Return Values
//To continue enumeration, the callback function must return TRUE; to 
//stop enumeration, it must return FALSE.
}
</code></pre>
<p>Die CallBack Funktion (hier: EnumWindowsProc) wird für jedes existierende Fenster einmal aufgerufen (wenn du EnumWindows aufrufst). Darin kannst du jetzt die Prozess id für das aktuelle Fenster bekommen (GetWindowThreadProcessId) und dann mit der Prozess id, die du über OpenProcess erhalten hast, vergleichen.<br />
Wenn die ids übereinstimmen, hast du dein HWND gefunden.</p>
<p>Wenn dus nicht verstanden hast, frag einfach <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418485</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Wed, 17 Dec 2003 16:57:45 GMT</pubDate></item><item><title><![CDATA[Reply to Fremd-Programm überwachen on Thu, 18 Dec 2003 10:12:41 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Hab dazu auch mal ne Frage !! Wenn ich mir mit FindWindow() nun ein HWND von einem Programm hole !! Hab ich dann auch die möglichkeite mit zu bekommen wenn dieses Programm eineMessageBox ausgibt ???? Kann ich diese MessageBox auslesen ?? So das ich den Text der Box in nem CString habe ???</p>
<p>Danke Coolsero</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418854</guid><dc:creator><![CDATA[Coolsero]]></dc:creator><pubDate>Thu, 18 Dec 2003 10:12:41 GMT</pubDate></item></channel></rss>