0

从 asp.net 运行网站,我需要将控制(焦点)转移到 winforms 应用程序。

如果应用程序没有运行,我知道我可以使用 process.start() 方法。

但是如果应用程序正在运行,我不想启动一个新窗口。

我可以选择将 winform 应用程序设置为唯一实例,但如果它是外部应用程序怎么办?我的意思是,如果我不是作者并且无法控制启动新实例...

如何在客户端计算机上找到给定窗口并从 ASP.NET 激活它

4

3 回答 3

2

由于安全原因,您不能这样做。浏览器内的代码无权访问用户系统。

于 2011-03-17T12:58:41.997 回答
1

如果浏览器是 Internet Explorer,您可以托管.Hta 页面(或返回内容类型:application/hta)。

.Hta 页面是完全受信任的,并且可以通过 COM 访问本地计算机上的所有内容。因此,如果您可以使用 VBScript 来完成,您可以在 .Hta 页面中完成。

用户在下载之前必须信任这个“应用程序”。如果这是一个 Internet 应用程序,您可能不会得到这种信任。如果这是一个 Intranet 应用程序,您可以强制用户信任该页面。

于 2011-03-17T13:07:35.107 回答
0

我想如果这是你真正需要的一些功能,你可以走 ActiveX 路线。话虽如此,它只能在 IE 中运行,并且需要一个单独的插件才能让 firefox(或其他兄弟)运行。

老实说,尽管对于您要实现的目标而言,这听起来有些矫枉过正。

于 2011-03-17T13:08:13.547 回答