firefox 8からURLを取得することはもうできません

私は、実行中のFirefoxのインスタンスのURLをキャッチしているC#アプリケーションを持っています。 私はいつも "MozillaContentWindow"を使ってFirefoxのURLを取得してきましたが、なぜそれがもう動作しないのか分かりません。

string s = GetUrlFromBrowsersWithIdentifier("MozillaContentWindow", foreGround);

public string GetUrlFromBrowsersWithIdentifier(string identifier, int foreground)
    {
        try
        {
            IntPtr ptr = new IntPtr(foreground);
            var aeBrowser = AutomationElement.FromHandle(ptr);
            return aeBrowser == null ? "" : GetURLfromBrowser(aeBrowser, identifier);
        }
        catch (Exception ex)
        {
            return "";
        }
    }

    string GetURLfromBrowser(AutomationElement rootElement, string identifier)
    {
        try
        {

            Condition condition1 = new PropertyCondition(AutomationElement.IsContentElementProperty, true);

            Condition condition2 = new PropertyCondition(AutomationElement.ClassNameProperty, identifier);

            var walker = new TreeWalker(new AndCondition(condition1, condition2));

            var elementNode = walker.GetFirstChild(rootElement);

            if (elementNode != null)
            {
                var p = elementNode.GetSupportedPatterns();

                if (p.Any(autop => autop.ProgrammaticName.Equals("ValuePatternIdentifiers.Pattern")))
                {
                    var valuePattern = elementNode.GetCurrentPattern(ValuePattern.Pattern) as ValuePattern;

                    if (valuePattern != null)
                        return (valuePattern.Current.Value);
                }
            }
        }
        catch
        {
            return "";
        }

        return "";

    }

今すぐ "walker.GetFirstChild(rootElement);"と入力するとそれはただそこで止まる。私は理由を理解できない。これはFirefoxの最新バージョンでのみ発生します。

彼らはURLを含むバリューバーの名前を変更しましたか?

ありがとうございました

1
@Alastair私は申し訳ありません、それは "MozillaContentWindow"でなければなりません、私は古いFirefoxのバージョンでそれを試してみましたが、それは機能しましたが、最新のバージョンではありません。
追加された 著者 syncis,
私は "WWW_GetWindowInfo"を使用しているこのコードはどこにも見当たりません
追加された 著者 Alastair Pitts,

1 答え

MozillaWindowContentClassを新しいバージョンに使用してみてください。

0
追加された