2012-04-30 22 views
10

सबसे पहले मुझे यह स्पष्ट करने की आवश्यकता है कि मुझे कीलॉगिंग में कोई रूचि नहीं है।सी # में निगरानी कुंजीपटल गतिविधि जबकि मेरा आवेदन पृष्ठभूमि में है

मुझे एप्लिकेशन में पृष्ठभूमि के दौरान सबसे बुनियादी स्तर पर कीबोर्ड गतिविधि की निगरानी करने का एक तरीका चाहिए। मुझे यह जानने की ज़रूरत नहीं है कि कौन सी चाबियाँ, मुझे किसी भी डेटा को सहेजने की ज़रूरत नहीं है, मुझे इसकी आवश्यकता नहीं है या मेरे आवेदन को छिपाने की योजना नहीं है, मुझे केवल यह जानना है कि कुंजी कब दबाई जाती है और एक विधि का आह्वान किया जाता है।

मैं इसे संभव करने का सबसे आसान तरीका ढूंढ रहा हूं, मुझे सी # की उचित मात्रा पता है लेकिन कुछ भी जटिल नहीं है क्योंकि मेरा अधिकांश ज्ञान आत्म-सिखाया जाता है।

मैंने ऐसा करने के कुछ उचित तरीकों के लिए चारों ओर देखा है और मुझे कुछ भी उपयोगी नहीं मिला है। मुझे जो कुछ मिला है, वह गहराई कीलॉगर्स में मंचों और स्रोत कोड पर "नहीं, यह अवैध है" कहने वाले लोगों का एक समूह है।

यदि आप में से कोई भी इसे प्राप्त करने के लिए मुझे सलाह दे सकता है तो मैं सबसे अधिक सराहना करता हूं।

उत्तर

9

एक लेख है कि तुम क्या आवश्यकता के लिए नमूना काम कर रहा है (यह भी पृष्ठभूमि में कीबोर्ड और माउस की घटनाओं पर नज़र रखता है) में नहीं है:

Processing Global Mouse and Keyboard Hooks in C#

+0

के लिंक के लिए +1 यह मुझे प्रदान करता है जो आपको चाहिए, बहुत बहुत धन्यवाद। –

+0

कोई चिंता नहीं, आपका स्वागत है – Zaki

2

माइक्रोसॉफ्ट आपको How to: Handle Keyboard Input at the Form Level बताता है। जब तक आप एक ही घटना को प्रबंधित करते हैं, यह किसी भी गैर वेब अनुप्रयोग के लिए काम करता है।

तुम भी इतने पर यहां अन्य प्रश्न पर एक नज़र रखना चाहिए, इस तरह के Handling Input from a Keyboard Wedge

+0

जब एप्लिकेशन को अग्रभूमि में हालांकि नहीं है यह है के लिए कौन है? –

+1

हां, मुझे पृष्ठभूमि में इसकी निगरानी करने की आवश्यकता है। –

+0

+1 वेज उत्तर –

5

के रूप में आप विंडो हुक्स का उपयोग करना होगा:

Low-Level Keyboard Hook in C#

लेकिन सावधान रहना, विंडोज सुरक्षा, हो सकता है आप जो चाहते हैं उसे करने से हमें बचाएं!

0

आप RegisterHotKey खिड़कियों एपीआई के साथ विंडोज गर्म कुंजी रजिस्टर कर सकता है, इस ब्लॉग पोस्ट को देखो:

http://www.liensberger.it/web/blog/?p=207