gpt4 book ai didi

silverlight - 通过 System.Windows.Automation 在 Chrome 中访问 Silverlight 窗口

转载 作者:行者123 更新时间:2023-12-04 02:52:45 25 4
gpt4 key购买 nike

这可能是徒劳的,但我想知道是否有人有这样做的经验。

我正在尝试访问 银光托管在 内的应用程序谷歌浏览器 通过使用 系统.Windows.自动化 (例如,自动化元素)。

我遇到的问题是 Chrome 在子进程中托管 Silverlight 应用程序。如果我试图找到 《银光控制》 AutomationElement(通过使用主进程的 hWnd),它失败了。

如果我找到 Silverlight 主机子进程,它没有窗口句柄,如果我尝试使用子进程的句柄查找控件,它会失败。

我知道它在那里...我可以使用 Inspect 看到它

Jerkface

但我只能通过单击 Silverlight 应用程序并在 Inspect 中向上导航来找到它。我无法使用 AutomationElement.FindFirst 或 Inspect 从选项卡窗口向下导航。

它就像在 IE 或 Firefox 中看不到的窗口和 Silverlight 插件之间存在脱节,我不知道如何解决它。

有没有其他人能够做到这一点?

最佳答案

我不确定这对您的实例是否有帮助,但我遇到了几个实例,我需要启用从外部到 Silverlight 的通信(需要与 Silverlight 应用程序通信的 Office 应用程序加载项)。我在托管 Silverlight 应用程序的 html 页面中使用了 javascript 作为该通信的桥梁:

    function sendToNav(message) {
var nav = document.getElementById("Nav");
nav.content.NavigationPage.HandleScriptedMessage(message);
}

function passMessageToHost(message) {
if (window.external == null) return;

window.external.HandleScriptedMessage(message);
}

如果我可以提供任何其他信息,请告诉我。希望这对你有用。

关于silverlight - 通过 System.Windows.Automation 在 Chrome 中访问 Silverlight 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5410939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com