<?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[Programm windwosweit ausführen]]></title><description><![CDATA[<p>Hallo, ich habe folgendes Programm, es ist noch nicht groß und es macht nicht viel, lediglich den Cursor um 50px nach oben links zu versetzen:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = &quot;blabloiblubb&quot;;
POINT mPos;
BOOL rc;
BOOL rd;

int WINAPI WinMain (HINSTANCE hThisInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR lpszArgument,
                     int nFunsterStil)
{
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */

    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);

    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                 /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&amp;wincl))
        return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           0,                   /* Extended possibilites for variation */
           szClassName,         /* Classname */
           &quot;blablablabla&quot;,       /* Title Text */
           WS_OVERLAPPEDWINDOW, /* default window */
           CW_USEDEFAULT,       /* Windows decides the position */
           CW_USEDEFAULT,       /* where the window ends up on the screen */
           544,                 /* The programs width */
           375,                 /* and height in pixels */
           HWND_DESKTOP,        /* The window is a child-window to desktop */
           NULL,                /* No menu */
           hThisInstance,       /* Program Instance handler */
           NULL                 /* No Window Creation data */
           );

    /* Make the window visible on the screen */
    //ShowWindow (hwnd, nFunsterStil);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&amp;messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&amp;messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&amp;messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}

/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                  /* handle the messages */
    {
        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;

        case WM_LBUTTONUP:
            BOOL rc;
            rc = GetCursorPos(&amp;mPos);
            Sleep(30);
            long x;
            long y;
            x=mPos.x-50;
            y=mPos.y-50;
            SetCursorPos(x,y);
            Sleep(10);
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0,0,0,0);
	        mouse_event(MOUSEEVENTF_LEFTUP, 0,0,0,0);
            break;

        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}
</code></pre>
<p>Mein <strong>Problem</strong> ist jedoch, dass es nur im Rahmen des Programms läuft. Sprich nur wenn das Programm im Vordergrund ist (Fenster liegt ganz oben). Ich möchte das Programm aber im Hintergrund laufen lassen, jedoch dass der Cursor dennoch versetzt wird.</p>
<p>Das mit dem Cursor ist nur zum testen, später soll er sich die Koordinaten merken und nach einer bestimmten Zeit den Cursor dorthinsetzen.</p>
<p>mfg supersass1</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/183477/programm-windwosweit-ausführen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 19:10:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183477.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Jun 2007 11:12:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm windwosweit ausführen on Tue, 05 Jun 2007 11:12:13 GMT]]></title><description><![CDATA[<p>Hallo, ich habe folgendes Programm, es ist noch nicht groß und es macht nicht viel, lediglich den Cursor um 50px nach oben links zu versetzen:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = &quot;blabloiblubb&quot;;
POINT mPos;
BOOL rc;
BOOL rd;

int WINAPI WinMain (HINSTANCE hThisInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR lpszArgument,
                     int nFunsterStil)
{
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */

    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);

    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                 /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&amp;wincl))
        return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           0,                   /* Extended possibilites for variation */
           szClassName,         /* Classname */
           &quot;blablablabla&quot;,       /* Title Text */
           WS_OVERLAPPEDWINDOW, /* default window */
           CW_USEDEFAULT,       /* Windows decides the position */
           CW_USEDEFAULT,       /* where the window ends up on the screen */
           544,                 /* The programs width */
           375,                 /* and height in pixels */
           HWND_DESKTOP,        /* The window is a child-window to desktop */
           NULL,                /* No menu */
           hThisInstance,       /* Program Instance handler */
           NULL                 /* No Window Creation data */
           );

    /* Make the window visible on the screen */
    //ShowWindow (hwnd, nFunsterStil);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&amp;messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&amp;messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&amp;messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}

/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                  /* handle the messages */
    {
        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;

        case WM_LBUTTONUP:
            BOOL rc;
            rc = GetCursorPos(&amp;mPos);
            Sleep(30);
            long x;
            long y;
            x=mPos.x-50;
            y=mPos.y-50;
            SetCursorPos(x,y);
            Sleep(10);
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0,0,0,0);
	        mouse_event(MOUSEEVENTF_LEFTUP, 0,0,0,0);
            break;

        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}
</code></pre>
<p>Mein <strong>Problem</strong> ist jedoch, dass es nur im Rahmen des Programms läuft. Sprich nur wenn das Programm im Vordergrund ist (Fenster liegt ganz oben). Ich möchte das Programm aber im Hintergrund laufen lassen, jedoch dass der Cursor dennoch versetzt wird.</p>
<p>Das mit dem Cursor ist nur zum testen, später soll er sich die Koordinaten merken und nach einer bestimmten Zeit den Cursor dorthinsetzen.</p>
<p>mfg supersass1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1299194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1299194</guid><dc:creator><![CDATA[supersass1]]></dc:creator><pubDate>Tue, 05 Jun 2007 11:12:13 GMT</pubDate></item><item><title><![CDATA[Reply to Programm windwosweit ausführen on Tue, 05 Jun 2007 12:13:14 GMT]]></title><description><![CDATA[<p>wieso erstellst du ein fenster wenn du das programm eh nur im hintergrund laufen lassen willst?</p>
<p>EDIT: bei mir tut sich nichts wenn ich das ausführe aber wenn du auf mouseevents außerhalb deines fensters reagieren willst kommst du wohl um nen hook nicht herum</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1299229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1299229</guid><dc:creator><![CDATA[Kuldren]]></dc:creator><pubDate>Tue, 05 Jun 2007 12:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to Programm windwosweit ausführen on Tue, 05 Jun 2007 12:06:50 GMT]]></title><description><![CDATA[<p>du meinst, das programm lediglich auf der <em>switch</em>-Answeisung beruhen?<br />
Okay, wäre einer Überlegung wert <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1299232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1299232</guid><dc:creator><![CDATA[supersass1]]></dc:creator><pubDate>Tue, 05 Jun 2007 12:06:50 GMT</pubDate></item><item><title><![CDATA[Reply to Programm windwosweit ausführen on Tue, 05 Jun 2007 12:10:52 GMT]]></title><description><![CDATA[<p>Wenn Du auf Mausbewegungen/-klicks, die nicht innerhalb Deiner Anwendung passieren, reagieren willst, musst Du einen Hook schreiben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1299236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1299236</guid><dc:creator><![CDATA[~Airdamn]]></dc:creator><pubDate>Tue, 05 Jun 2007 12:10:52 GMT</pubDate></item><item><title><![CDATA[Reply to Programm windwosweit ausführen on Tue, 12 Jun 2007 08:30:28 GMT]]></title><description><![CDATA[<p>hat jemand ein gutes Tutorial für ein Hook?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303744</guid><dc:creator><![CDATA[supersass1]]></dc:creator><pubDate>Tue, 12 Jun 2007 08:30:28 GMT</pubDate></item><item><title><![CDATA[Reply to Programm windwosweit ausführen on Tue, 12 Jun 2007 09:23:03 GMT]]></title><description><![CDATA[<p>Was meinst Du denn mit &quot;windowsweit&quot;?</p>
<p>Wenn dein Programm das einzige sein soll, dann trage es als Shell ein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303773</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 12 Jun 2007 09:23:03 GMT</pubDate></item><item><title><![CDATA[Reply to Programm windwosweit ausführen on Tue, 12 Jun 2007 09:40:08 GMT]]></title><description><![CDATA[<pre><code>#include &lt;windows.h&gt;

int main()
{
   for(;;)
   {
      Sleep(1);
      if (0x8001 &amp; GetAsyncKeyState (VK_LBUTTON))
         SetCursorPos (50, 50);
   }
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303784</guid><dc:creator><![CDATA[pale dog]]></dc:creator><pubDate>Tue, 12 Jun 2007 09:40:08 GMT</pubDate></item><item><title><![CDATA[Reply to Programm windwosweit ausführen on Tue, 12 Jun 2007 10:19:02 GMT]]></title><description><![CDATA[<p>Damit du mit den Hooks nicht ins Leere läufst:<br />
SetWindowsHookEx / UnhookWindowsHookEx</p>
<p>Damit kannst du sämtliche Maus- oder Tastatur-Ereignisse systemweit abfangen und drauf reagieren. Das einzig umständliche ist, dass die Hook-Funktion, die bei jeder Maus-Aktion aufgerufen wird, in einer DLL liegen muss. Ansonsten aber alles recht einfach, einfach mal ausprobieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303811</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Tue, 12 Jun 2007 10:19:02 GMT</pubDate></item></channel></rss>