在这个程序中,Ctrl a被认为是其他命令,我不能使用“SendKeys.SenDWait(”^ a“);”选择文字.
有没有办法复制该文本?
解决方法 您可以使用 UIAComWrapper执行此 *** 作,您将需要处理该窗口(从您尝试复制的位置)以及有关该元素的信息,您可以从 UIAutomationVerify获得.var elementCollection = automationElement.FromHandle(windowHandle).FindAll(TreeScope.Subtree,Condition.TrueCondition);foreach (var item in elementCollection){ //check item propertIEs if element is the one you looking for}
此外,您可以提供更复杂的过滤器来获取仅一个元素,而不是Condition.TrueCondition.
编辑,添加真实示例:
[Dllimport("user32.dll",SetLastError = true)]public static extern IntPtr FinDWindow(string lpClassname,string lpWindowname);const string InternetExplorerClass = "IEFrame";static voID Main(){ var windowHandle = new IntPtr(0); //Find internet explorer instance windowHandle = FinDWindow(InternetExplorerClass,null); if (!windowHandle.Equals(IntPtr.Zero)) { //create filter to improve search speed var localizedControlType = new PropertyCondition( automationElement.LocalizedControlTypeProperty,"tab item"); //get all elements in internet explorer that match our filter var elementCollection = automationElement.FromHandle(windowHandle) .FindAll(TreeScope.Subtree,localizedControlType); //iterate through search results foreach (automationElement item in elementCollection) { Console.Writeline(item.Current.name); } } else { Console.Writeline("Internet explorer not found"); } Console.Readline();}
上面的代码将找到Internet Explorer,并将所有选项卡标题打印到控制台.我把源代码放到了@L_419_2@.
总结以上是内存溢出为你收集整理的c# – 有没有办法从其他程序中复制文本而不选择它?全部内容,希望文章能够帮你解决c# – 有没有办法从其他程序中复制文本而不选择它?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)