<?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[Mehrere Systemweite Hotkeys &amp;amp; Hooks]]></title><description><![CDATA[<p>Hallo !</p>
<p>Ich möchte in meinem Programm mehrere Systemweite Hotkeys verwenden und ausserdem systemweit mausklicks abfangen/erkennen. Dazu benutze ich die beiden Beiträge aus der FAQ :</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39144" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=39144</a><br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39184" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=39184</a></p>
<p>Das mit den Hotkeys funktioniert prima solange es nur einer ist.<br />
Das mit der Maus funktioniert FÜR SICH auch gut aber wenn ich beides in einem Programm benutze (also einfach alles reinkopiert :)) dann hängt sich mein ganzes system auf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Kann mir villeicht jemand helfen damit mehrer Hotkeys zu benutzen und Hotkeys &amp; Maus Systemweit in einem Programm zu erkennen ?</p>
<p>Vielen Dank im Vorraus !</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/110459/mehrere-systemweite-hotkeys-amp-hooks</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 15:46:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/110459.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 May 2005 21:04:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrere Systemweite Hotkeys &amp;amp; Hooks on Fri, 20 May 2005 21:04:26 GMT]]></title><description><![CDATA[<p>Hallo !</p>
<p>Ich möchte in meinem Programm mehrere Systemweite Hotkeys verwenden und ausserdem systemweit mausklicks abfangen/erkennen. Dazu benutze ich die beiden Beiträge aus der FAQ :</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39144" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=39144</a><br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39184" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=39184</a></p>
<p>Das mit den Hotkeys funktioniert prima solange es nur einer ist.<br />
Das mit der Maus funktioniert FÜR SICH auch gut aber wenn ich beides in einem Programm benutze (also einfach alles reinkopiert :)) dann hängt sich mein ganzes system auf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Kann mir villeicht jemand helfen damit mehrer Hotkeys zu benutzen und Hotkeys &amp; Maus Systemweit in einem Programm zu erkennen ?</p>
<p>Vielen Dank im Vorraus !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/792704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/792704</guid><dc:creator><![CDATA[Jay88]]></dc:creator><pubDate>Fri, 20 May 2005 21:04:26 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Systemweite Hotkeys &amp;amp; Hooks on Sat, 21 May 2005 10:29:21 GMT]]></title><description><![CDATA[<p>hast du den hotkeys auch unterschiedliche ids gegeben?<br />
kennst du GetLastError()?<br />
oder das WinAPI forum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/792858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/792858</guid><dc:creator><![CDATA[Lesco]]></dc:creator><pubDate>Sat, 21 May 2005 10:29:21 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Systemweite Hotkeys &amp;amp; Hooks on Sat, 21 May 2005 10:37:53 GMT]]></title><description><![CDATA[<p>Ja sie haben verschieden ID´s. Mit gleichen compiliert der BCB das gar nich erst. Ja ich kene das Winapi forum aber da beide von mir verwendete Tips aus der BCB FAQ stammen habe ich gehofft heir richtig zu sein.</p>
<p>(PS: warum wurde mein post &quot;zensiert&quot; ?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/792864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/792864</guid><dc:creator><![CDATA[Jay88]]></dc:creator><pubDate>Sat, 21 May 2005 10:37:53 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Systemweite Hotkeys &amp;amp; Hooks on Sat, 21 May 2005 16:50:41 GMT]]></title><description><![CDATA[<p>ruf mal wenn nen RegisterHotkey() fehlgeschlagen ist GetLastError() auf und schlag den error code nach</p>
]]></description><link>https://www.c-plusplus.net/forum/post/793079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/793079</guid><dc:creator><![CDATA[Lesco]]></dc:creator><pubDate>Sat, 21 May 2005 16:50:41 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Systemweite Hotkeys &amp;amp; Hooks on Sat, 21 May 2005 19:17:28 GMT]]></title><description><![CDATA[<p>Das kann ich leider nicht, da das Programm direkt nach dem starten das ganze system einfriert und ich nur noch reset drücken kann...</p>
<p>Ich konnte das Problem aber jetzt soweit eingrenzen das das Aufrufen der Funktion</p>
<pre><code class="language-cpp">SetHook(Handle);
</code></pre>
<p>wohl der Auslöser ist. In einem neuen (&quot;blanko&quot;) Projekt funktiert das mit dem Mousehook wunderbar nur eben in mein besttehendes Programm eingefügt kommt es zum crash. Da ich diese Funktion direkt am Anfang von OnFormCreate aufrufe nehme ich an das es was mit dem header oder den include dateier/definitionen zu tuen haben muss.<br />
Die Dateien sehen so aus:</p>
<p>.cpp:</p>
<pre><code class="language-cpp">#include &lt;vcl.h&gt;
#include &lt;fastmath.h&gt;
#include &lt;windows.h&gt;
#include &lt;winuser.h&gt;

#pragma hdrstop
#define STRICT
#include &quot;Unit1.h&quot;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource &quot;*.dfm&quot;

// Die Funktionen aus der dem Projekt hinzugefügten LIB deklarieren
extern &quot;C&quot; __declspec(dllexport) __stdcall void SetHook(HWND);
extern &quot;C&quot; __declspec(dllexport) __stdcall void RemoveHook(void);
extern &quot;C&quot; __declspec(dllexport) __stdcall MOUSEHOOKSTRUCT GetMouseData(void);

TForm1 *Form1;

...diverser code...

void __fastcall TForm1::WMHotKey(TMessage &amp;Msg)
{
 //What to do if Hotkey is pressed
 TForm::Dispatch(&amp;Msg);

...diverser code...

}

void __fastcall TForm1::wmMessage(TMessage &amp;Msg2)
{

  if(Msg2.WParam == WM_RBUTTONUP)

     MessageBox(Handle, &quot;YOU CLICKED RIGHT&quot;, &quot;HUHU&quot;,
                MB_OK|MB_ICONINFORMATION|MB_SYSTEMMODAL);

}

void __fastcall TForm1::FormCreate(TObject *Sender)
{
// Den Hook starten
SetHook(Handle);
// Die Form vor alle anderen Fenster setzen, damit die Maus-Koordianten
// immer präsent sind
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);

//Register F7 as a Hotkey
unsigned int HotKeyIdentifier_uint = GlobalAddAtom(&quot;F7-Hotkey&quot;);
unsigned int HotKeyModifier_uint = 0;
RegisterHotKey(Handle, HotKeyIdentifier_uint, HotKeyModifier_uint, VK_F7);

...diverser code...
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
RemoveHook();
}
</code></pre>
<p>.h:</p>
<pre><code class="language-cpp">#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include &lt;Classes.hpp&gt;
#include &lt;Messages.hpp&gt;
#include &lt;Controls.hpp&gt;
#include &lt;StdCtrls.hpp&gt;
#include &lt;Forms.hpp&gt;
#include &lt;jpeg.hpp&gt;
#include &quot;pngimage.hpp&quot;
#include &lt;ExtCtrls.hpp&gt;
// Userdefined Message
// Wird beim Eingehen von Mouse-Messages von der DLL gesendet
// und von der MainForm empfangen (s.u.: MESSAGE_MAP)
#define WM_MOUSEHOOK   WM_USER+100
//---------------------------------------------------------------------------

#include &lt;ExtCtrls.hpp&gt;
#define STRICT

// ********************** Für die Verwendung von GDIPlus notwendig ******************
#include &lt;algorithm&gt;
using std::min;
using std::max;
#include &lt;GDIPlus.h&gt;
//---------------------------------------------------------------------------
class TForm1 : public TForm
{

__published:	// IDE-managed Components
        TButton *Button1;
        TImage *Image1;
        TMemo *FFile;
        TListBox *SList;
        void __fastcall Button1Click(TObject *Sender);
        void __fastcall FormClick(TObject *Sender);
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall FormDestroy(TObject *Sender);
private:
void __fastcall WMHotKey(TMessage &amp;Msg);
void __fastcall wmMessage(TMessage &amp;Msg2);

void __fastcall DrawSphere(int nr);
void __fastcall KillSphere(int nr);
 ULONG_PTR gdiplusToken;
    Gdiplus::GdiplusStartupInput gdiplusStartupInput;
    int GDIPlusStatus(Gdiplus::Image *GDIPlusImage);
    bool LoadPic2(AnsiString PicName,int x,int y);

public:		// User declarations
        __fastcall TForm1(TComponent* Owner);
          __fastcall ~TForm1(void);

        BEGIN_MESSAGE_MAP

        MESSAGE_HANDLER(WM_HOTKEY, TMessage, WMHotKey)
        MESSAGE_HANDLER(WM_MOUSEHOOK, TMessage, wmMessage)
        END_MESSAGE_MAP(TForm)

};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/793159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/793159</guid><dc:creator><![CDATA[Jay88]]></dc:creator><pubDate>Sat, 21 May 2005 19:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrere Systemweite Hotkeys &amp;amp; Hooks on Mon, 23 May 2005 07:48:22 GMT]]></title><description><![CDATA[<p>Gibt es villeicht eine andere Möglichkeit systemweit mausklicks abzufangen/zuz erkennen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/793935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/793935</guid><dc:creator><![CDATA[Jay88]]></dc:creator><pubDate>Mon, 23 May 2005 07:48:22 GMT</pubDate></item></channel></rss>