2009-04-13 15 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的這一點。

相關問題