<?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[RegisterHotKey neu definieren?]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe einen HotKey, den ich gerne registrieren möchte.<br />
Der ist aber bereits vergeben.<br />
Jetzt möchte ich den &quot;un-registrieren&quot;, geht aber nicht, weil ich das Atom nicht habe.<br />
Ist das möglich, z.B. WIN+F zu überschreiben?</p>
<p>Danke.<br />
Hier ist mein Code:</p>
<pre><code class="language-cpp">if (!RegisterHotKey(NULL, kombiAtom, theApp.GetAsSystemTaste(m_strMetaTaste), m_strTaste.GetAt(0))) {

			CString fehler;
			DWORD dw = theApp.GetLastErrorCode(fehler);
			// Hot key is already registered.
			if (dw == ERROR_HOTKEY_ALREADY_REGISTERED) {
				if (MessageBox(fehler+&quot;Soll die Registrierung überschrieben werden?&quot;, &quot;Fehler&quot;, MB_ICONQUESTION|MB_YESNO) == IDYES) {
					theApp.ResetErrors();
					if (!UnregisterHotKey(NULL, kombiAtom)) {
						MessageBox(theApp.GetLastError(), &quot;Fehler&quot;, MB_ICONINFORMATION);
					}
					else {
						// dann nochmal probieren...
						theApp.ResetErrors();
						if (!RegisterHotKey(NULL, kombiAtom, theApp.GetAsSystemTaste(m_strMetaTaste), m_strTaste.GetAt(0))) {
							MessageBox(theApp.GetLastError(), &quot;Fehler&quot;, MB_ICONINFORMATION);
						}
					}
				}
			}
			else {
				MessageBox(fehler, &quot;Fehler&quot;, MB_ICONINFORMATION);
			}
</code></pre>
<p>Also eigentlich geht es um die Zeile:</p>
<pre><code class="language-cpp">if (!UnregisterHotKey(NULL, kombiAtom))
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/87380/registerhotkey-neu-definieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 03:36:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/87380.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Sep 2004 15:01:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to RegisterHotKey neu definieren? on Wed, 29 Sep 2004 15:01:50 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe einen HotKey, den ich gerne registrieren möchte.<br />
Der ist aber bereits vergeben.<br />
Jetzt möchte ich den &quot;un-registrieren&quot;, geht aber nicht, weil ich das Atom nicht habe.<br />
Ist das möglich, z.B. WIN+F zu überschreiben?</p>
<p>Danke.<br />
Hier ist mein Code:</p>
<pre><code class="language-cpp">if (!RegisterHotKey(NULL, kombiAtom, theApp.GetAsSystemTaste(m_strMetaTaste), m_strTaste.GetAt(0))) {

			CString fehler;
			DWORD dw = theApp.GetLastErrorCode(fehler);
			// Hot key is already registered.
			if (dw == ERROR_HOTKEY_ALREADY_REGISTERED) {
				if (MessageBox(fehler+&quot;Soll die Registrierung überschrieben werden?&quot;, &quot;Fehler&quot;, MB_ICONQUESTION|MB_YESNO) == IDYES) {
					theApp.ResetErrors();
					if (!UnregisterHotKey(NULL, kombiAtom)) {
						MessageBox(theApp.GetLastError(), &quot;Fehler&quot;, MB_ICONINFORMATION);
					}
					else {
						// dann nochmal probieren...
						theApp.ResetErrors();
						if (!RegisterHotKey(NULL, kombiAtom, theApp.GetAsSystemTaste(m_strMetaTaste), m_strTaste.GetAt(0))) {
							MessageBox(theApp.GetLastError(), &quot;Fehler&quot;, MB_ICONINFORMATION);
						}
					}
				}
			}
			else {
				MessageBox(fehler, &quot;Fehler&quot;, MB_ICONINFORMATION);
			}
</code></pre>
<p>Also eigentlich geht es um die Zeile:</p>
<pre><code class="language-cpp">if (!UnregisterHotKey(NULL, kombiAtom))
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/617183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617183</guid><dc:creator><![CDATA[TimoL]]></dc:creator><pubDate>Wed, 29 Sep 2004 15:01:50 GMT</pubDate></item><item><title><![CDATA[Reply to RegisterHotKey neu definieren? on Wed, 29 Sep 2004 15:28:33 GMT]]></title><description><![CDATA[<blockquote>
<p>The UnregisterHotKey function frees a hot key previously registered by the calling thread.</p>
</blockquote>
<p>Evtl. müsstest du dich zuvor mit AttachThreadInput mit dem Thread verknüpfen, der den Hotkey zuvor reserviert hat <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/617205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617205</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Wed, 29 Sep 2004 15:28:33 GMT</pubDate></item><item><title><![CDATA[Reply to RegisterHotKey neu definieren? on Wed, 29 Sep 2004 15:53:13 GMT]]></title><description><![CDATA[<p>Wie wäre es mit eine systemweiten Hook??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/617229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617229</guid><dc:creator><![CDATA[HOOK]]></dc:creator><pubDate>Wed, 29 Sep 2004 15:53:13 GMT</pubDate></item><item><title><![CDATA[Reply to RegisterHotKey neu definieren? on Thu, 30 Sep 2004 12:04:53 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1644">@flenders</a>:<br />
Aber woher soll ich denn wissen, wer den HotKey reserviert hat?</p>
<p>@HOOK:<br />
Nee, das möchte ich eigentlich vermeiden. <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>Es klappt ja eigentlich alles.<br />
Nur für bereits belegte HotKeys geht's net.<br />
Müsste eigentlich nur an den Identifier für den HotKey rankommen.<br />
Gibt es da nicht eine Möglichkeit über GlobalFindAtom oder über die AtomTable etc.?</p>
<p>Ich weiss zwar, dass ich mir darüber einen Identifier für den HotKey besorgen kann, aber nicht wie ich darin nach registrierten HotKeys (bzw. nach den Tastenkombinationen) suchen...</p>
<p>Oder gibt es alternativ vielleicht noch irgendeine Information, die ich per GetLastError() rausbekommen kann? Bisher hole ich &quot;nur&quot; den ErrorCode und den ErrorText raus. Vielleicht gibt es noch mehr Informationen...</p>
<p>Wisst Ihr was dazu?</p>
<p>Danke schonmal!!<br />
Gruß<br />
Timo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/617925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/617925</guid><dc:creator><![CDATA[TimoL]]></dc:creator><pubDate>Thu, 30 Sep 2004 12:04:53 GMT</pubDate></item></channel></rss>