मैं काम के लिए एक स्वचालन कार्यक्रम में SendKeys का उपयोग कर रहा हूँ। मैं साथ चल रहा हूं, और अब मैंने बनाई गई सभी बगों को लोहे से बाहर करने की कोशिश कर रहा हूं :-)प्रोग्रामेटिक रूप से अक्षम कैप्स लॉक
इनमें से एक यह है कि जब मैंने SendKeys.Send ("test") का उपयोग किया, तो कैप्स लॉक चालू है, यह "टेस्ट" के विरोध में "परीक्षण" का उत्पादन करेगा।
bool tmp = Control.IsKeyLocked(Keys.CapsLock);
if (tmp)
{
keybd_event(0x14, 0x45, KEYEVENTF_EXTENTEDKEY, (UIntPtr)0);
keybd_event(0x14, 0x45, KEYEVENTF_EXTENTEDKEY | KEYEVENTF_KEYUP, (UIntPtr)0);
//Application.DoEvents(); <-Testing.
}
और फिर तुरंत SendKeys का उपयोग कुछ पाठ भेजने के लिए:
मैं capslock राज्य पता लगाने का प्रयास है, और यह टॉगल यदि आवश्यक हो तो निम्न कोड का उपयोग किया है
SendKeys.SendWait("This Is An Over Capitalized Test String");
कौन सा अभी भी इस तरह से बाहर आता है: "टीएचआईएस आईएस एएन कैप्टीलाइज्ड टेस्ट स्टरिंग"।
क्या इस समस्या को हल करने का कोई तरीका है?
उत्तर दिया गया! बस किसी और के लिए स्पष्ट करने के लिए, समस्या
SendKeys.SendWait("{CAPSLOCK}" + text);
का उपयोग करके हल किया गया था मैं पहली बार प्रयोग करने का प्रयास:
SendKeys.SendWait("{CAPSLOCK}");
SendKeys.SendWait("This Is An Over Capitalized Test String");
कौन सा बिल्कुल काम नहीं किया।
यदि आप 'SendKeys.Send "{CAPSLOCK} टेस्ट" करते हैं तो क्या होगा? – V4Vendetta