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

时间:2011-03-17 12:52:39

标签: asp.net setfocus web-to-winforms

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

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

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

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

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

激活它

3 个答案:

答案 0 :(得分:2)

出于安全原因,您无法做到。浏览器内的代码无权访问用户系统。

答案 1 :(得分:1)

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

.Hta页面完全受信任,可以通过COM访问本地计算机上的所有内容。因此,如果您可以使用VBScript执行此操作,则可以在.Hta页面中执行此操作。

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

答案 2 :(得分:0)

我想如果这是你真正需要的一些功能,你可以沿着ActiveX路线走下去。虽然说它只能在IE中工作,并且需要一个单独的插件供firefox(或其他兄弟)运行。

老实说,虽然听起来有点像你想要达到的目标。