本文介绍了C# 从 Firefox 获取 URL 但不使用 DDE的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为了在 firefox 中检测 URL,我使用 DDE
For detect URL in firefox I use DDE
DdeClient dde = new DdeClient("Firefox", "WWW_GetWindowInfo");
dde.Connect();
string url1 = dde.Request("URL", int.MaxValue);
dde.Disconnect();
temp = url1.Replace("\"", "").Replace("\0", "");
dde = null;
这段代码完美运行!,但是对于connect(dde.Connect();)来说太慢了7/8秒!还有另一种方法可以从firefox获取url吗?(例如使用SendMessage"等 API 窗口)
This code works perfectly!, but it is too slow for connect (dde.Connect();) is too slow 7/8 second!Is there another way to get url from firefox? (example use API windows like "SendMessage")
推荐答案
这对我很有效:
AutomationElement element = AutomationElement.FromHandle(intPtr); // intPtr is the MainWindowHandle for FireFox browser
element = element.FindFirst(TreeScope.Subtree,
new AndCondition(
new PropertyCondition(AutomationElement.NameProperty, "Search or enter address"),
new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit)));
string url = ((ValuePattern)element.GetCurrentPattern(ValuePattern.Pattern)).Current.Value as string;
这篇关于C# 从 Firefox 获取 URL 但不使用 DDE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!