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 3.5中創建通用控件?
- 4. 是否可以在線創建科爾多瓦應用程序?
- 5. 是否可以在ModalPopup中創建UINavigationController?
- 6. 是否可以在Alertdialog中創建GridView?
- 7. 是否可以使用另一個進程創建的HWND?
- 8. 我可以在主線程(UI線程)之外創建UI嗎?
- 9. 是否可以在GDB中創建/刪除/禁用多個breskpoints?
- 10. 是否可以在MongoDB中創建多個分片密鑰?
- 11. 是否可以在Tableau中使用lat.lon創建多邊形
- 12. 是否可以在Django中創建多個管理界面?
- 13. 是否可以使用WIX創建多語言安裝程序?
- 14. 是否可以使用One UI Handler進行多個活動?
- 15. 如何查找在.Net中創建的dll是否可以在Silverlight中使用?
- 16. 是否可以在kendo-ui樞軸網格中進行分頁?
- 17. .NET進程中可以存在的線程數是否有嚴格的限制?
- 18. 創建進程14001.net
- 19. 是否可以在Web API .net中使用params進行操作?
- 20. 以下代碼是否暗含創建SWT UI線程?
- 21. 我可以在.NET中創建多少個位圖?
- 22. 是否可以在同一命令上創建多個目錄?
- 23. 是否有可能在.net中創建自定義字節
- 24. 我可以告訴其他進程是否正在創建文件?
- 25. 是否可以爲組合框中的每個進程創建日誌
- 26. 是否可以在.net中創建一個通用約束類型的集合?
- 27. 是否可以在黑莓中創建一個類似守護進程的進程?
- 28. 是否可以在.NET中啓動下載管理器(一個進程)
- 29. 是否可以使用GTK#和.Net標準庫創建應用程序?
- 30. 是否可以在創建函數時創建for循環?
例如,如果您的意思是每個都帶有自己的瀏覽器的多個選項卡,那麼是的,這是可能的。 – 2012-03-21 06:01:07
@MrWednesday no我的意思是每個窗體/控件(winform或wpf)都在它自己的進程中 – Simon 2012-03-21 06:02:06