2010-08-07 58 views
1

我在尋找關於如何在Windows上執行Windows窗體和/或WPF應用程序以及強制顯示始終顯示在另一個完全獨立的過程(基本上就好像「孩子」過程僅僅是另一種形式控制)的情感背景。作爲一點背景,我們有一個遺留的32位應用程序,我們繼承了它,其中依賴於相當多的第三方庫,而不是由其各自供應商提供的64位程序集。我們的任務是擴充這個傳統應用程序,它本身幾乎不需要64位地址空間,而新功能需要比任何32位處理程序所能提供的更多內存。Windows - 強制在另一個範圍內顯示一個進程/窗體

據我所知,我們需要支持所有從Windows XP x64 - > windows 2008r2/win7 x64。

我完全接受任何建議,非常感謝每個人的迴應!

回答

1

我不知道有什麼技術可以實現你所要求的 - 我的建議是將所有的UI保存在32位地址空間中,並使用進程間通信來卸載內存密集型部分您的應用程序改爲單獨的過程。

+0

雖然我同意,這似乎是最合理的方式,以達到預期的效果,還有一些似乎在路上的絆腳石,而在這個時候看似不可調和的政治/遺留建築問題。較新的代碼很可能需要保存在它自己的64位地址空間中。儘管感謝您的快速回答。另外,作爲一個便箋,我們還在探索將應用程序完全分開的選項,並且只是使用WCF作爲IPC機制來進行兩者之間的通信 - 這似乎是一切解決方案中的主要解決方案... – CORPORATEWAGESLAVE 2010-08-07 15:36:53

0

一種可能性是使用「視窗掛鉤。」這是非常瘋狂的東西。 http://www.hook-api.com/ 搜索這些詞,你會發現一些有趣的東西。

掛鉤的一般解釋。 http://en.wikipedia.org/wiki/Hooking

另一種可能是使用像Citrix這樣的第三方程序,它可以在Windows窗口/環境下運行非Windows程序,也許可以在Widnows應用程序中作爲控件運行,我知道這是一箇舊的Win32應用程序,但在此情況下,可以考慮舊的應用程序「非Windows」。

HTH

+0

感謝你的建議。我們已經有一位工程師正在研究思傑的API,看看有什麼可能。我會研究一下窗口掛鉤機制提供的內容,看看是否有可能引起關注的東西。非常有趣的東西! – CORPORATEWAGESLAVE 2010-08-07 15:44:50

相關問題