1
A
回答
1
基本上没有什么魔法铬的剂量。
您需要提供基本UI的主机进程。这个主机进程然后启动一个子进程,为每个分离的上下文创建你想要的内容(如chrome中的页面)。现在,您需要一种方法让儿童进程与主机进行通信。这可以通过窗口上的命名管道完成。主机创建一个管道,并且可以通过进程参数将该管道名称处理给子进程。 (如果您打开Process Explorer并查看chrome的子进程,您将看到类似这样的参数--channel = 6831.059FF640.845232221)
现在您为每个没有边框的子进程添加一个窗口(仅限于简单的内容)。主机现在需要将所有窗口更改发送给该孩子。所以如果主人移动,孩子也需要实时改正其位置。如果主机得到最小化,孩子也需要最小化等等。如果上下文切换,一个孩子的窗户变得不可见并且出现。
如果这个孩子死了,你只需要创建一个新的,恢复它的状态,你就完成了。
chrome场景的一种替代方法是将内容中的所有鼠标和键盘交互发送到该子进程,然后在该子进程中执行所有处理和计算并将返回信息发回(通过命名管道)到主机然后剂量渲染。
0
您可以使用Thread
创建每个表单,该表单将由该线程保存。但请注意,您无法访问其他表单控件。
但是,如果你想有一个像申请一个完整的浏览器,你必须开发使用Visual C您的应用程序++
0
我不知道,Chrome使用的具体机制。但是,我知道您可以将HWND重新保存到另一个进程中。事实上,我敢打赌,任何使用chrome的技术都可以在.Net中复制一些P/Invoke。
相关问题
- 1. Silverlight - 是否可以在后台线程上创建UI元素?
- 2. WoW64进程是否可以创建/ fork/etc纯x64进程?
- 3. 是否可以在.NET中创建邮件系统?
- 4. 是否可以在.NET 4中动态创建路由?
- 5. 是否可以在C#.net中创建COM组件?
- 6. 是否可以在.Net 3.5中创建通用控件?
- 7. 是否可以在线创建科尔多瓦应用程序?
- 8. 是否可以在WinRT中创建IME?
- 9. 是否可以在ModalPopup中创建UINavigationController?
- 10. 是否可以在Alertdialog中创建GridView?
- 11. 是否可以在NetLogo中创建类?
- 12. 是否可以在AutoCad中以编程方式创建标签?
- 13. 是否可以在aspx页面中以编程方式创建多个按钮?
- 14. 是否可以使用另一个进程创建的HWND?
- 15. 我可以在主线程(UI线程)之外创建UI吗?
- 16. 是否可以在angular-localForage中创建多个dataStore?
- 17. 是否可以在HTML中创建多级有序列表?
- 18. 是否可以在Tableau中使用lat.lon创建多边形
- 19. 是否可以在FireFox/Safari中创建多个WebSocket?
- 20. 是否可以在GDB中创建/删除/禁用多个breskpoints?
- 21. 是否可以在MongoDB中创建多个分片密钥?
- 22. 是否可以在Django中创建多个管理界面?
- 23. 是否可以使用WIX创建多语言安装程序?
- 24. 是否可以使用One UI Handler进行多个活动?
- 25. 如何查找在.Net中创建的dll是否可以在Silverlight中使用?
- 26. 在zf2中创建模块的过程是否可以缩短?
- 27. 是否可以在Android的应用程序中创建App Widget?
- 28. 是否可以在VB6中创建POSIX应用程序
- 29. 在施工过程中是否可以停止创建对象?
- 30. 是否可以在iOS中创建透明应用程序
例如,如果您的意思是每个都带有自己的浏览器的多个选项卡,那么是的,这是可能的。 – 2012-03-21 06:01:07
@MrWednesday no我的意思是每个窗体/控件(winform或wpf)都在它自己的进程中 – Simon 2012-03-21 06:02:06