2009-04-13 82 views
0

我们正在尝试做的与其他的公司我们的产品的松散集成。我们有一个Windows和Web客户端,他们完全在网络上。简而言之,他们已经为我们制作了一个接受一些参数的登录页面,我们只需对该URL进行GET即可将用户转换为其他应用程序。我可以从winforms应用程序中定位浏览器实例吗?

有符合会话状态的其他应用程序的问题,并打开多个浏览器会导致保存回我们的应用程序的关键,会话被覆盖。我知道在网络版中它是小菜一碟:

window.open('http://theotherappsurl.com', 'otherapp'); 

通过传递窗口名称参数,它总是在同一个标​​签页/窗口中打开。

棘手的问题是在WinForms应用程序的所有我做的是推出的默认浏览器的网址:

Process.Start('http://theotherappsurl.com'); 

这让我想起我的问题 - 有没有办法为目标的现有实例浏览器窗口启动时从winforms?有没有办法以这种方式命名窗户?任何具体到IE(我不是这个的支持者,但我们的产品是Windows/IE的)?

回答

0

这几乎是讨厌的就是以下工作 - 有一个WebBrowser控件和HTML踢它,做了window.open()与命名窗口的静态实例。它和现有的浏览器实例一样工作...甚至不需要控制树的一部分!

所以,现在除了“定位”浏览器窗口(这是我们没想到竟然会是可能的),我的老板希望它也带来了该浏览器实例前进。我改变window.open(...)对window.open(...)。对焦()和它的作品在我的机器上(Server 2008的64位/ IE8),但显然不是他(XP/IE7)。为何找到解决方案或具体原因的任何机会?

0

我不知道你是否会考虑这种矫枉过正,但你可以创建一个简单的winform应用程序,它包装Web浏览器控制,使之成为单一实例应用程序,而是调用直接调用IE的这一点。

相关问题