<?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[Serveranwendung führt Shortcut in anderem Programm aus]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem. Mit Hilfe des MFC-Anwendungsassistenten (exe) von Microsoft Visual C++ habe ich eine Serveranwendung erstellt (Dialogfeldbasierend).<br />
Diese soll nun bei Empfang eines Signals auf eine anderes Programm wechseln, dort einen Shortcut ausführen und dann wieder in den Vordergrund zurück wechseln. Habe das Ganze nun so geregelt:</p>
<pre><code class="language-cpp">void CMeinProgrammDlg::OnReceive()
{
...
// Nachricht empfangen
iEmpf = m_sConnectSocket.Receive(pBuf, iBufSize);
// Wurde etwas empfangen?
    if (iEmpf == SOCKET_ERROR)
    {
    }
    else
    {
        hwin = FindWindow(NULL, &quot;anderes Programm&quot;); 
        SetForegroundWindow(hwin);
            keybd_event(0x11, 0, 0, NULL);
        keybd_event(0x70, 0, 0, NULL);
...
</code></pre>
<p>ich erhalte nun folgende Fehlermeldung<br />
(1) error C2440: '=' : 'class CWnd *' kann nicht in 'struct HWND__ *' konvertiert werden<br />
(2) error C2660: 'SetForegroundWindow' : Funktion akzeptiert keine 1 Parameter</p>
<p>was muß ich an dem Code ändern, damit es funktioniert? Wenn das &quot;andere Programm&quot; im Vordergrund und &quot;MeinProgramm&quot; im Hintergrund läuft und ich FindWindow und SetForegroundWindow rauslasse, funktioniert das mit dem Shortcut setzen, allerdings will ich eben meine Anwendung im Vordergrund haben und nur jeweils kurz auf das andere Programm wechseln.</p>
<p>Hat jemand einen Tipp?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/6094/serveranwendung-führt-shortcut-in-anderem-programm-aus</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 09:03:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/6094.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 Jun 2003 12:52:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Serveranwendung führt Shortcut in anderem Programm aus on Mon, 09 Jun 2003 12:52:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem. Mit Hilfe des MFC-Anwendungsassistenten (exe) von Microsoft Visual C++ habe ich eine Serveranwendung erstellt (Dialogfeldbasierend).<br />
Diese soll nun bei Empfang eines Signals auf eine anderes Programm wechseln, dort einen Shortcut ausführen und dann wieder in den Vordergrund zurück wechseln. Habe das Ganze nun so geregelt:</p>
<pre><code class="language-cpp">void CMeinProgrammDlg::OnReceive()
{
...
// Nachricht empfangen
iEmpf = m_sConnectSocket.Receive(pBuf, iBufSize);
// Wurde etwas empfangen?
    if (iEmpf == SOCKET_ERROR)
    {
    }
    else
    {
        hwin = FindWindow(NULL, &quot;anderes Programm&quot;); 
        SetForegroundWindow(hwin);
            keybd_event(0x11, 0, 0, NULL);
        keybd_event(0x70, 0, 0, NULL);
...
</code></pre>
<p>ich erhalte nun folgende Fehlermeldung<br />
(1) error C2440: '=' : 'class CWnd *' kann nicht in 'struct HWND__ *' konvertiert werden<br />
(2) error C2660: 'SetForegroundWindow' : Funktion akzeptiert keine 1 Parameter</p>
<p>was muß ich an dem Code ändern, damit es funktioniert? Wenn das &quot;andere Programm&quot; im Vordergrund und &quot;MeinProgramm&quot; im Hintergrund läuft und ich FindWindow und SetForegroundWindow rauslasse, funktioniert das mit dem Shortcut setzen, allerdings will ich eben meine Anwendung im Vordergrund haben und nur jeweils kurz auf das andere Programm wechseln.</p>
<p>Hat jemand einen Tipp?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29551</guid><dc:creator><![CDATA[Bob]]></dc:creator><pubDate>Mon, 09 Jun 2003 12:52:00 GMT</pubDate></item><item><title><![CDATA[Reply to Serveranwendung führt Shortcut in anderem Programm aus on Mon, 09 Jun 2003 13:02:00 GMT]]></title><description><![CDATA[<p>FindWindow gibt CWnd* zurück und kein Handle. Also:</p>
<p>CWnd *fenster = FindWindow(NULL, &quot;anderes Programm&quot;);<br />
fenster-&gt;SetForegroundWindow();</p>
<p>oder:</p>
<p>HWND fenster = ::FindWindow(NULL, &quot;anderes Programm&quot;);<br />
SetForegroundWindow(fenster);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29552</guid><dc:creator><![CDATA[newvet]]></dc:creator><pubDate>Mon, 09 Jun 2003 13:02:00 GMT</pubDate></item><item><title><![CDATA[Reply to Serveranwendung führt Shortcut in anderem Programm aus on Mon, 09 Jun 2003 22:53:00 GMT]]></title><description><![CDATA[<p>Danke - funktioniert!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29553</guid><dc:creator><![CDATA[Bob]]></dc:creator><pubDate>Mon, 09 Jun 2003 22:53:00 GMT</pubDate></item></channel></rss>