मेरे पास एक छोटा ट्रे एप्लिकेशन है जो सिस्टम-व्यापी हॉटकी पंजीकृत करता है। जब उपयोगकर्ता किसी भी एप्लिकेशन में कहीं भी टेक्स्ट का चयन करता है और इस हॉटकी को दबाता है तो मैं चयनित टेक्स्ट को कैप्चर करने में सक्षम होना चाहता हूं। मैं इस समय इस AutomationElements का उपयोग कर कर रहा हूँ:किसी भी विंडो से चयनित टेक्स्ट कैसे प्राप्त करें (यूआई ऑटोमेशन का उपयोग करके) - सी #
//Using FocusedElement (since the focused element should be the control with the selected text?)
AutomationElement ae = AutomationElement.FocusedElement;
AutomationElement txtElement = ae.FindFirst(TreeScope.Subtree,Condition.TrueCondition);
if(txtElement == null)
return;
TextPattern tp;
try
{
tp = txtElement.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
}
catch(Exception ex)
{
return;
}
TextPatternRange[] trs;
if (tp.SupportedTextSelection == SupportedTextSelection.None)
{
return;
}
else
{
trs = tp.GetSelection();
string selectedText = trs[0].GetText(-1);
MessageBox.Show(selectedText);
}
यह कुछ ऐप्स (जैसे नोटपैड, दृश्य बक्से स्टूडियो संपादित करें और इस तरह के रूप में), लेकिन सभी (वर्ड, फ़ायर्फ़ॉक्स, क्रोम के रूप में के लिए, और इतने पर के लिए काम करता है।)
कोई भी व्यक्ति किसी भी विचार में चयनित पाठ को पुनः प्राप्त करने में सक्षम होने के बारे में किसी भी विचार के साथ?
नीचे जो कहा गया है उसके बावजूद, याद रखें कि क्लिपबोर्ड केवल आवेदन लागू होता है _pt-c (या जो कुछ भी); क्लिपबोर्ड समाधान नहीं है – smirkingman