<?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[ein Programm das ein Programm kontrolliert]]></title><description><![CDATA[<p>Hi,<br />
ich will mal ein Programm schreiben das ein anderes automatisch bedient.<br />
z.B. Buttons betätigt und Edit Felder ausfüllt. Ist sowas überhaupt möglich?<br />
Und wenn, welche Funktionen können für so etwas genutzt werden?<br />
Ich vermute SendMessage() mit dem HWND des anderen Fensters aber wie kriegt man ein HWND von einem fremden Programmfenster? Und was ist wenn ich nicht weiß wie das Programm strukturiert ist sondern nur weiß welche Buttons es zu betätigen gilt. Wie kann ich dann einen Klick mit dem Cursor auf einen Punkt simulieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/81206/ein-programm-das-ein-programm-kontrolliert</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 12:42:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/81206.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 29 Jul 2004 08:09:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 29 Jul 2004 08:09:19 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich will mal ein Programm schreiben das ein anderes automatisch bedient.<br />
z.B. Buttons betätigt und Edit Felder ausfüllt. Ist sowas überhaupt möglich?<br />
Und wenn, welche Funktionen können für so etwas genutzt werden?<br />
Ich vermute SendMessage() mit dem HWND des anderen Fensters aber wie kriegt man ein HWND von einem fremden Programmfenster? Und was ist wenn ich nicht weiß wie das Programm strukturiert ist sondern nur weiß welche Buttons es zu betätigen gilt. Wie kann ich dann einen Klick mit dem Cursor auf einen Punkt simulieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570713</guid><dc:creator><![CDATA[The_incredible_Guest]]></dc:creator><pubDate>Thu, 29 Jul 2004 08:09:19 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 29 Jul 2004 08:32:12 GMT]]></title><description><![CDATA[<p>The_incredible_Guest schrieb:</p>
<blockquote>
<p>Wie kann ich dann einen Klick mit dem Cursor auf einen Punkt simulieren?</p>
</blockquote>
<p>z.b. so:</p>
<pre><code class="language-cpp">SetCursorPos (10, 20);
mouse_event (MOUSEEVENTF_LEFTDOWN, 0,0,0,0);
mouse_event (MOUSEEVENTF_LEFTUP, 0,0,0,0);
</code></pre>
<p>click auf position x==10, y==20</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570722</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 29 Jul 2004 08:32:12 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 29 Jul 2004 09:41:43 GMT]]></title><description><![CDATA[<p>hi!<br />
gibs da so ne übersicht wo ich rausfinden kann welchen keycode ich für die tasten brauche?</p>
<p>hab da mal so ein kleines prog... das auf eine internetseite navigiert, und soll in das loginfeld einen text schreiben!!</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt; 
#include &lt;string&gt; 
using namespace std; 

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) 
{ 
    // also ich will zuerst eine internetseite aufmachen lassen: www.a1.net
    ShellExecute(NULL,&quot;open&quot;, &quot;C:\\Programme\\Internet
    Explorer\\IEXPLORE.EXE&quot;,NULL,NULL,SW_SHOWNORMAL); 

    HWND hWndInternet_Explorer = FindWindow(&quot;Internet Explorer&quot;,NULL); 
    HWND hWndEdit = FindWindowEx(hWndInternet_Explorer,NULL,&quot;Edit&quot;,NULL); 
    string text = &quot;www.a1.net&quot;; 

    // Adresse senden 
    SendMessage(hWndEdit ,WM_SETTEXT,0,(LPARAM)text.c_str()); 

    // Enterdruck simulieren 
    SendMessage(hWndEdit ,WM_SETTEXT,0,(LPARAM)0x13); 

    // Window finden...
    HWND hwnd = FindWindow(&quot;www.A1.net - A1 Kristallklar&quot;, NULL); 
    if(hwnd)  
    { 
       SetForegroundWindow(hwnd);
       // mit der maus auf das login feld gehen 
       SetCursorPos (10, 20);
       mouse_event (MOUSEEVENTF_LEFTDOWN, 0,0,0,0);
       mouse_event (MOUSEEVENTF_LEFTUP, 0,0,0,0);

       // benutzernamen eintragen: testuser
       keybd_event(0x6A, 0, 0, 0); 
       keybd_event(0x6A, 0, KEYEVENTF_KEYUP, 0);
   }            

   return 0; 
}
</code></pre>
<p>wie bekomm ich den hwnd fensternamen? der is ja bei jeden user anders, also bei internetexplorer window?</p>
<p>cu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570785</guid><dc:creator><![CDATA[micky maus]]></dc:creator><pubDate>Thu, 29 Jul 2004 09:41:43 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 29 Jul 2004 10:16:27 GMT]]></title><description><![CDATA[<p>Und wie gibt man dann einen Text in ein Edit Feld ein und betätigt Enter oder eine andere Taste auf der Tastatur.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570817</guid><dc:creator><![CDATA[The_incredible_Guest]]></dc:creator><pubDate>Thu, 29 Jul 2004 10:16:27 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 29 Jul 2004 10:18:35 GMT]]></title><description><![CDATA[<p>Warum rufst du die Seite nicht direkt ohne Umweg über den Internet Explorer auf ?</p>
<p>via WinInet:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/http_sessions.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/http_sessions.asp</a></p>
<p>oder via WinHttp:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winhttp/http/winhttp_sessions_overview.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winhttp/http/winhttp_sessions_overview.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/570819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570819</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Thu, 29 Jul 2004 10:18:35 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 29 Jul 2004 10:42:48 GMT]]></title><description><![CDATA[<p>geeky schrieb:</p>
<blockquote>
<p>Warum rufst du die Seite nicht direkt ohne Umweg über den Internet Explorer auf ?</p>
<p>via WinInet:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/http_sessions.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/http_sessions.asp</a></p>
<p>oder via WinHttp:<br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winhttp/http/winhttp_sessions_overview.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winhttp/http/winhttp_sessions_overview.asp</a></p>
</blockquote>
<p>ja weil ich vielleicht etwas in ein edit feld auf eine internetseite schreiben will...<br />
gibs da so ne übersicht wo ich rausfinden kann welchen keycode ich für die tasten brauche?</p>
<p>cu<br />
cu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/570839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/570839</guid><dc:creator><![CDATA[micky maus]]></dc:creator><pubDate>Thu, 29 Jul 2004 10:42:48 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 29 Jul 2004 16:31:52 GMT]]></title><description><![CDATA[<p>micky maus schrieb:</p>
<blockquote>
<p>ja weil ich vielleicht etwas in ein edit feld auf eine internetseite schreiben will...<br />
gibs da so ne übersicht wo ich rausfinden kann welchen keycode ich für die tasten brauche?</p>
</blockquote>
<p>Die Virtual Key Codes stehen in einem Windows-Header, einfach mal suchen.<br />
Ansonsten kannst du Spy++ nehmen, das zeigt den Key-Code direkt an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/571106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/571106</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Thu, 29 Jul 2004 16:31:52 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 29 Jul 2004 16:47:41 GMT]]></title><description><![CDATA[<p>Hört sich für mich so an, als wolltest du nen Formular ausfüllen und absenden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/571114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/571114</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Thu, 29 Jul 2004 16:47:41 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 29 Jul 2004 17:21:44 GMT]]></title><description><![CDATA[<p>geeky schrieb:</p>
<blockquote>
<p>Hört sich für mich so an, als wolltest du nen Formular ausfüllen und absenden...</p>
</blockquote>
<p>Ich will auf <a href="http://www.a1.net" rel="nofollow">www.a1.net</a> navigieren! dann will ich mit der maus auf <a href="http://myA1.net" rel="nofollow">myA1.net</a> klicken! und dann als benutzernamen: test eintragen...<br />
da muss halt die maus no mal in die editbox von benutzernamen klicken u dann key_events senden....</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt; 
#include &lt;string&gt; 
using namespace std; 

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) 
{ 
        // also ich will zuerst eine internetseite aufmachen lassen: www.a1.net 

	HWND hWndEdit;

	ShellExecute(hWndEdit, //Fensterhandle
                 NULL, // not used
                 &quot;http://www.a1.net&quot;, // Die Website
                 NULL, // not used
                 NULL, // not used
                 SW_NORMAL);

	ShowWindow(hWndEdit, SW_MAX);

	// Window finden... 
        if(hWndEdit)   
        { 
           SetForegroundWindow(hWndEdit);

	   Sleep(5000);

       	   // mit der maus auf myA1.net klicken 
           SetCursorPos (80, 200); 
           mouse_event (MOUSEEVENTF_LEFTDOWN, 0,0,0,0); 
           mouse_event (MOUSEEVENTF_LEFTUP, 0,0,0,0); 

	   Sleep(3000);

	   // in Benutzernameedit klicken
	   SetCursorPos (160, 290); 
           mouse_event (MOUSEEVENTF_LEFTDOWN, 0,0,0,0); 
           mouse_event (MOUSEEVENTF_LEFTUP, 0,0,0,0); 

           // benutzernamen eintragen: testuser 
           keybd_event(0x6A, 0, 0, 0); 
           keybd_event(0x6A, 0, KEYEVENTF_KEYUP, 0); 
   }             

   return 0; 
}
</code></pre>
<p>was sagst zu meinem ansatz??? nur kann ich mit keybd_event gleich einen ganzen text reinschreiben?? bitte comments zum programm!! wie weiß ich ob die seite fertig geladen ist? ich hab da mal 2 Sleep rein getan...hm nit so gut?</p>
<p>cu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/571131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/571131</guid><dc:creator><![CDATA[surf]]></dc:creator><pubDate>Thu, 29 Jul 2004 17:21:44 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 12 Aug 2004 12:24:15 GMT]]></title><description><![CDATA[<p>*Schieb*<br />
Was ist aus deinem Programm geworden?<br />
Ist dein Problem gelöst?<br />
Ich finde das Programm ziemlich interessan.<br />
Vorschlag: Schreib dir doch Methoden in der du Strings automatisch in char umwandelst und diese automatisch in Key events umwndelst und diese dan aus gibst <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="😉"
    /><br />
is zwar nicht so leicht und wenig aber bestimmt ungeheuer braubar.</p>
<p>PS: Hi freue mich endlich ein so Großes und scheinbar &quot;Allwissendes&quot; C++ Forum gefunden zu haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/580945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/580945</guid><dc:creator><![CDATA[THE-PUNISHER]]></dc:creator><pubDate>Thu, 12 Aug 2004 12:24:15 GMT</pubDate></item><item><title><![CDATA[Reply to ein Programm das ein Programm kontrolliert on Thu, 12 Aug 2004 20:17:06 GMT]]></title><description><![CDATA[<p>THE-PUNISHER schrieb:</p>
<blockquote>
<p>*Schieb*<br />
Was ist aus deinem Programm geworden?<br />
Ist dein Problem gelöst?<br />
Ich finde das Programm ziemlich interessan.<br />
Vorschlag: Schreib dir doch Methoden in der du Strings automatisch in char umwandelst und diese automatisch in Key events umwndelst und diese dan aus gibst <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="😉"
    /><br />
is zwar nicht so leicht und wenig aber bestimmt ungeheuer braubar.</p>
<p>PS: Hi freue mich endlich ein so Großes und scheinbar &quot;Allwissendes&quot; C++ Forum gefunden zu haben.</p>
</blockquote>
<p>ja das programm läuft soweit! nur wollt ich halt lieber einen post http request an einem server schicken, das funzt no net;-(</p>
<p>cu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/581340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/581340</guid><dc:creator><![CDATA[surf]]></dc:creator><pubDate>Thu, 12 Aug 2004 20:17:06 GMT</pubDate></item></channel></rss>