मैं .NET में न्यूमॉक, कैप्सलॉक और स्क्रॉल लॉक कुंजी की स्थिति कैसे पा सकता हूं?मैं .NETLock, कैप्सलॉक और स्क्रॉल लॉक को .NET में कैसे ढूंढ सकता हूं?
उत्तर
आयात WinAPI समारोह GetKeyState
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)]
public static extern short GetKeyState(int keyCode);
और फिर आपको लगता है कि
bool CapsLock = (((ushort)GetKeyState(0x14)) & 0xffff) != 0;
bool NumLock = (((ushort)GetKeyState(0x90)) & 0xffff) != 0;
bool ScrollLock = (((ushort)GetKeyState(0x91)) & 0xffff) != 0;
संपादित की तरह उपयोग कर सकते हैं: ऊपर ढांचा 2.0 + के लिए, ढांचे 1.1 के लिए है आप उपयोग कर सकते
फ्रेमवर्क 2.0 के साथ और ऊपर आप इसका उपयोग कर सकते हैं एक ढांचा समारोह
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.iskeylocked%28v=vs.80%29.aspx
public static bool NumlockActive()
{
return Control.IsKeyLocked(Keys.NumLock);
}
किसी को भी इस धागे भर आता है, जबकि WPF में विकसित कर रहा है, तो आप Keyboard.IsToggled विधि जो .NET 3.0 में पेश किया गया था का उपयोग कर सकते हैं:
var isNumLockToggled = Keyboard.IsKeyToggled(Key.NumLock);
var isCapsLockToggled = Keyboard.IsKeyToggled(Key.CapsLock);
var isScrollLockToggled = Keyboard.IsKeyToggled(Key.Scroll);
आप करेंगे निम्नलिखित using
निर्देश को अपनी कक्षा के शीर्ष पर निर्देशित करना होगा, यदि यह पहले से मौजूद नहीं है:
using System.Windows.Input;
आंतरिक रूप से, IsToggled() विधि यह देखने के लिए जांचती है कि KeyStates.Toggled
ध्वज निर्दिष्ट कुंजी के लिए सेट है या नहीं।
[Flags]
public enum KeyStates : byte
{
None = (byte) 0,
Down = (byte) 1,
Toggled = (byte) 2,
}
चेक राज्य
के राज्य CapsLock, NumLock और ScrollLock कुंजी जाँच करने के लिए आप उपयोग कर सकते Control.IsKeyLocked
विधि:
var capsLockIsOn = Control.IsKeyLocked(Keys.CapsLock);
सक्रिय स्टेडियम दिखाएँ ते
चूंकि आपके एप्लिकेशन में फोकस हैंडलिंग कुंजीपटल घटनाएं नहीं हैं, इसलिए मुख्य लॉक स्थिति में परिवर्तनों का पता लगाने के लिए पर्याप्त नहीं है और आपको अपना तर्क भी रखना चाहिए कुछ अन्य स्थानों जैसे कि आपके फॉर्म की सक्रियण घटना या आपको वैश्विक कीबोर्ड हुक पंजीकृत करने की आवश्यकता है।
एक सरल और विश्वसनीय समाधान के रूप में आप Application.Idle
ईवेंट में अपनी स्थिति की जांच कर सकते हैं। आपका फॉर्म बंद होने पर आपको अपने निष्क्रिय ईवेंट हैंडलर को अलग करना होगा।
public Form1()
{
InitializeComponent();
Application.Idle += Application_Idle;
}
void Application_Idle(object sender, EventArgs e)
{
if (Control.IsKeyLocked(Keys.CapsLock))
toolStripStatusLabel1.Text = "CapsLock is On";
else
toolStripStatusLabel1.Text = "";
}
protected override void OnFormClosed(FormClosedEventArgs e)
{
Application.Idle -= Application_Idle;
base.OnFormClosed(e);
}
क्या आपका एप्लिकेशन नहीं चल रहा है इसके बारे में क्या? उदाहरण के लिए आप एक लॉगिन विंडो खोलते हैं और आप उपयोगकर्ता को चेतावनी देना चाहते हैं कि कैप्स –
@LeandroTupone पर है जब आपकी लॉगिन विंडो दिखाई दे रही है, तो इसका मतलब है कि आपका एप्लिकेशन चल रहा है।जब चाहें कुंजी की स्थिति की जांच करने के लिए, आप उत्तर में पहले विकल्प का उपयोग कर सकते हैं। सक्रिय रूप से राज्य के बारे में जागरूक होने के लिए, आप दूसरे विकल्प का उपयोग कर सकते हैं। –
- 1. मैं जावास्क्रिप्ट में Shift + key को कैसे ढूंढ सकता हूं?
- 2. मैं सबसे महंगी क्वेरी कैसे लॉग और ढूंढ सकता हूं?
- 3. स्किंटिला .NET - पुस्तकालयों को नहीं ढूंढ सकता
- 4. मैं मॉडल के रिश्तों को कैसे ढूंढ सकता हूं?
- 5. मैं उन तत्वों को कैसे ढूंढ सकता हूं जिनमें jquery
- 6. मैं AJAX ऐप में अप्रयुक्त सीएसएस कैसे ढूंढ सकता हूं?
- 7. मैं HTML स्निपेट में टेक्स्ट नोड्स कैसे ढूंढ सकता हूं?
- 8. रूबी ऐप में अप्रयुक्त विधियों को कैसे ढूंढ सकता हूं?
- 9. मैं .NET में WMI प्रदर्शन को कैसे सुधार सकता हूं?
- 10. मैं सरणी में अधिकतम मान के सूचकांक को कैसे ढूंढ और मुद्रित कर सकता हूं?
- 11. मैं डेटा.फ्रेम में तत्व की पहली और आखिरी घटनाओं को कैसे ढूंढ सकता हूं?
- 12. मैं एंड्रॉइड में लॉक (concurrent.locks.Lock) कैसे बना सकता हूं?
- 13. मैं कॉर्पस से केवल 'रोचक' शब्द कैसे ढूंढ सकता हूं?
- 14. मैं ऑब्जेक्ट का केंद्र कैसे ढूंढ सकता हूं?
- 15. मैं एप्लिकेशन का बेस यूआरएल कैसे ढूंढ सकता हूं?
- 16. मैं वर्तमान DNS सर्वर कैसे ढूंढ सकता हूं?
- 17. मैं संग्रहित प्रक्रिया कॉल कैसे ढूंढ सकता हूं?
- 18. मैं cmd से वर्तमान विंडोज भाषा कैसे ढूंढ सकता हूं?
- 19. मैं WordPress पर अपना php.ini कैसे ढूंढ सकता हूं?
- 20. मैं 1-बार ई-क्रेडिट कार्ड कैसे ढूंढ सकता हूं?
- 21. मैं फ़्यूज़न पैसेंजर संस्करण कैसे ढूंढ सकता हूं?
- 22. मैं सभी * .js फ़ाइल को लिनक्स में दोबारा निर्देशिका में कैसे ढूंढ सकता हूं?
- 23. मैं एक स्कोप्ड लॉक कैसे वापस कर सकता हूं?
- 24. गणित में, मैं पैटर्न कैसे ढूंढ सकता हूं जिसमें नियम और सूचियां शामिल हैं?
- 25. विजुअल स्टूडियो 2010 में स्क्रॉल लॉक बग
- 26. मैं एक फ़ाइलस्ट्रीम लॉक अनलॉक कैसे कर सकता हूं?
- 27. कैश कुंजी द्वारा मैं कैसे लॉक कर सकता हूं?
- 28. System.Xaml नहीं ढूंढ सकता?
- 29. आईओएस पर सफारी में स्क्रॉल करते समय मैं स्क्रॉल स्थिति की निगरानी कैसे कर सकता हूं?
- 30. मैं WPF ScrollViewer मध्य-क्लिक-स्क्रॉल कैसे बना सकता हूं?
मैं यहां गलत हो सकता हूं, लेकिन क्या यह केवल विंडोज रिलीज के लिए कड़ाई से काम नहीं करेगा? पहला विकल्प सीधे एक .dll में हुक करता है, जबकि दूसरे को System.Windows.Forms –
की आवश्यकता होती है यदि आप WinForms का उपयोग नहीं कर रहे हैं, (उदाहरण के लिए कंसोल) आप '(bool) कंसोल का उपयोग कर सकते हैं। कैप्सलॉक। –