المستمع حدث في جاوة دون التطبيق وجود التركيز؟ (كشف بضغطة العالمية)

StackOverflow https://stackoverflow.com/questions/800747

سؤال

ولقد تم البحث لبعض الوقت ويبدو أن الجميع أعتقد أن هذا غير ممكن فقط باستخدام جافا، لذلك سأعطيك SO تسديدة؛)

هل هناك أي طريقة لجعل تطبيق جافا بلدي الاستماع للأحداث (الأحداث الرئيسية على وجه الخصوص) بينما التطبيق لا علاقة أخرى له التركيز النافذة؟ في حالتي، أنا أبحث لكشف عندما قام المستخدم الضغط على مفتاح "وقفة" على لوحة المفاتيح حتى ولو لم يكن لديك تطبيق جافا تركيزي.

ولقد سمعت بعض الناس يذكر أن الطريقة الوحيدة هي كتابة بعض التعليمات البرمجية C واستخدام JNI. عادل الغريب إذا عرف أي شخص من وسيلة لتجنب ذلك؟ أو، إن لم يكن، على الأقل تعليمي لطيف على ج / JNI الاشياء؟

والشكر

هل كانت مفيدة؟

المحلول

وإنها فهمت أن هذا لا يمكن القيام به. على مستوى أساسي، وJVM يولد إلا الأحداث لO الأحداث / S التي تتلقاها، وأنها تتلقى فقط الأحداث O / S المدخلات عندما يكون لديه التركيز.

وأنا متأكد من أنك <م> قد استخدام JNI لتحريك O / S لتوليد الأحداث لجميع المدخلات، ولكن ذلك سيكون جدا O / S تعتمد.

نصائح أخرى

وهنا هو أفضل إجابة لقد وجدت:

و" وهناك مكتبة للتعامل مع لوحة المفاتيح الأصلي والتحكم الماوس: https://github.com/kwhat/jnativehook ) "

وأنا لست على علم بأي طريقة للالتفاف على ذلك ايضا. لم أجد هذا الرابط في المنتديات جاوة مع مثال جيد على كيفية الإعداد الاشياء JNI وجعل معالج لوحة المفاتيح العالمي (كثيرا أن أضيف هنا). انها مؤرخ قليلا (2005)، ولكن يبدو سبيل المثال شامل بما فيه الكفاية للحصول على انك بدأته.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top