从 asp.net 运行网站,我需要将控制(焦点)转移到 winforms 应用程序。
如果应用程序没有运行,我知道我可以使用 process.start() 方法。
但是如果应用程序正在运行,我不想启动一个新窗口。
我可以选择将 winform 应用程序设置为唯一实例,但如果它是外部应用程序怎么办?我的意思是,如果我不是作者并且无法控制启动新实例...
如何在客户端计算机上找到给定窗口并从 ASP.NET 激活它
从 asp.net 运行网站,我需要将控制(焦点)转移到 winforms 应用程序。
如果应用程序没有运行,我知道我可以使用 process.start() 方法。
但是如果应用程序正在运行,我不想启动一个新窗口。
我可以选择将 winform 应用程序设置为唯一实例,但如果它是外部应用程序怎么办?我的意思是,如果我不是作者并且无法控制启动新实例...
如何在客户端计算机上找到给定窗口并从 ASP.NET 激活它
由于安全原因,您不能这样做。浏览器内的代码无权访问用户系统。
如果浏览器是 Internet Explorer,您可以托管.Hta 页面(或返回内容类型:application/hta)。
.Hta 页面是完全受信任的,并且可以通过 COM 访问本地计算机上的所有内容。因此,如果您可以使用 VBScript 来完成,您可以在 .Hta 页面中完成。
用户在下载之前必须信任这个“应用程序”。如果这是一个 Internet 应用程序,您可能不会得到这种信任。如果这是一个 Intranet 应用程序,您可以强制用户信任该页面。
我想如果这是你真正需要的一些功能,你可以走 ActiveX 路线。话虽如此,它只能在 IE 中运行,并且需要一个单独的插件才能让 firefox(或其他兄弟)运行。
老实说,尽管对于您要实现的目标而言,这听起来有些矫枉过正。