{"id":203,"date":"2008-10-07T08:11:00","date_gmt":"2008-10-07T08:11:00","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=203"},"modified":"2008-10-07T08:11:00","modified_gmt":"2008-10-07T08:11:00","slug":"globale-tastendrucke-und-mausoperationen-abfangen-windows","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2008\/10\/globale-tastendrucke-und-mausoperationen-abfangen-windows\/","title":{"rendered":"Globale Tastendr\u00fccke und Mausoperationen abfangen (Windows)"},"content":{"rendered":"<p>Globale Mausbewegungen von Java zu &#252;berwachen ist mit dem MouseInfo.getPointerInfo().getLocation() kein Problem. Aber mitzubekommen, ob in einer anderen Java-Applikation eine Maustaste oder eine andere Keyboard-Taste gedr&#252;ckt ist, schon. Wer vor dem Problem steht, dies unter Java und Windows abzufangen, kann SWT zusammen mit den SWT Win32 Extensions (<a href=\"http:\/\/www.swtui.cn\/index.php)\">http:\/\/www.swtui.cn\/index.php)<\/a> nutzen &#8212; auch wenn man selbst nicht mit SWT, sondern mit Swing arbeitet. Soll etwa global die &lt;Pause&gt; Taste abgefangen werden, kann man schreiben: <\/p>\n<p>Hook.KEYBOARD.addListener(new HookEventListener() {   <br \/>&#160;&#160;&#160; public void acceptHookData( HookData hookData ) {    <br \/>&#160;&#160;&#160;&#160;&#160; if ( ((KeyboardHookData) hookData).getVirtualKeyCode() == KeyEvent.VK_PAUSE &amp;&amp;    <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ! ((KeyboardHookData) hookData).getTransitionState() ) {    <br \/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; \/\/ TU WAS DICH GL&#220;CKLICH MACHT    <br \/>&#160;&#160;&#160;&#160;&#160; }    <br \/>} } );    <br \/>Hook.KEYBOARD.install(); <\/p>\n<p>Neben Hook.KEYBOARD gibt es auch Hook.MOUSE.<\/p>\n<p>M&#246;chte man nun beides zusammen haben, also wissen, ob etwa STRG und eine Maustaste gedr&#252;ckt wurde, meldet man einen HookEventListener f&#252;r die Maus an und fragt die Taste wie folgt ab:<\/p>\n<p>Extension.GetKeyState(Extension.VK_CONTROL) &lt; 0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Globale Mausbewegungen von Java zu &#252;berwachen ist mit dem MouseInfo.getPointerInfo().getLocation() kein Problem. Aber mitzubekommen, ob in einer anderen Java-Applikation eine Maustaste oder eine andere Keyboard-Taste gedr&#252;ckt ist, schon. Wer vor dem Problem steht, dies unter Java und Windows abzufangen, kann SWT zusammen mit den SWT Win32 Extensions (http:\/\/www.swtui.cn\/index.php) nutzen &#8212; auch wenn man selbst nicht [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[4],"tags":[],"class_list":["post-203","post","type-post","status-publish","format-standard","hentry","category-open-source"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=203"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/203\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}