我正在寻找有关如何在Windows上执行Windows窗体和/或WPF应用程序的建议,并强制它的显示始终显示在另一个完全独立的进程的grahpic上下文中(基本上就像“子”一样)过程只是另一种形式控制)。
作为一点背景,我们有一个继承的遗留32位应用程序,其中依赖于相当多的第三方库,它们各自的供应商不提供64位程序集。我们的任务是扩充这个遗留应用程序,它本身几乎不需要64位地址空间,新功能需要的内存比任何32位进程都要多。
据我所知,我们需要支持windows xp x64中的所有内容 - > windows 2008r2 / win7 x64。
我完全接受任何建议,并非常感谢每个人的回应!
答案 0 :(得分:1)
我不知道有任何技术可以实现您的要求 - 我的建议是将所有UI保留在32位地址空间中,并使用进程间通信来卸载内存密集型部分而应用到一个单独的过程中。
答案 1 :(得分:0)
可能是使用'Windows挂钩'。这是非常疯狂的东西。 http://www.hook-api.com/ 搜索这些条款,你会发现一些有趣的东西。
挂钩的一般说明。 http://en.wikipedia.org/wiki/Hooking
另一种可能性是使用像Citrix这样可以在Windows窗口/环境中运行非Windows程序的第三方程序。也许让它作为Widnows应用程序中的控件运行。我知道它是一个旧的Win32应用程序,但在这种情况下,人们可以认为旧的应用程序“非Windows”。
HTH