16
A
回答
8
我之前爲Winforms做過這個,但是這個方法並不明亮,所以只要別人沒有任何想法,這就是我所做的。該代碼是相當多這樣的:
Process p = Process.Start(@"application.exe");
p.WaitForInputIdle();
IntPtr appWin = p.MainWindowHandle;
SetParent(appWin, parent);
SetWindowLong(appWin, GWL_STYLE, WS_VISIBLE);
System.Threading.Thread.Sleep(100);
MoveWindow(appWin, 0, 0, ClientRectangle.Width, ClientRectangle.Height, true);
(其中SetParent,SetWindowLong和MoveWindow是通過的P/Invoke調用Win32 API函數)的睡眠,需要作爲一個黑客,因爲沒有它調用的MoveWindow就沒有影響。
對於WPF,您將需要一個窗口/控件的句柄,它將成爲第三方窗口的邊界,獲取此類句柄的最簡單方法是使用HwndHost容器。
我不認爲有一種更漂亮的方式在WPF中實現這一點。另外,請注意,我只在WinForms中進行了測試,而不是在WPF中進行了測試,但是它也應該在WPF中工作,只要它具有父級的有效win32 HWND即可。
相關問題
- 1. 從C#中的另一個應用程序顯示WPF窗口#
- 2. WPF窗口更改另一個窗口的控件的值
- 3. 在另一個Delphi應用程序中嵌入Delphi窗口
- 4. 如何將一個窗口「嵌入」另一個窗口
- 5. 觸發事件從另一個WPF窗口WPF窗口
- 6. 如何使另一個應用程序的窗口的父窗口?
- 7. 用另一個窗口控制另一個窗口
- 8. 如何在IPhone窗口應用程序中顯示另一個窗口
- 9. 將應用程序嵌入窗口
- 10. 如何在一個WPF應用程序中有多個窗口?
- 11. 如何從wpf中的另一個窗口訪問一個窗口的控件(richtextbox)?
- 12. 如何將OpenCV顯示窗口添加爲Win32 C++應用程序中另一個窗口的子窗口?
- 13. 將WPF窗口附加到另一個進程的窗口
- 14. 自定義控件WPF中的窗口應用程序
- 15. 在另一個wpf窗口內部有一個wpf窗口
- 16. 另一個WPF窗口前面的WPF窗口
- 17. 如何在窗口中的應用程序中彈出一個窗口
- 18. 如何讓另一個應用程序的窗口透明?
- 19. WPF窗口/用戶控件繼承XAML
- 20. 轉換我的多窗口WPF應用程序到一個窗口?
- 21. 如何使用JQuery從另一個窗口寫入現有的HTML窗口
- 22. Facebook應用程序在窗口中顯示一個窗口
- 23. 在WPF窗口內嵌入控制檯窗口
- 24. 從另一個桌面找到應用程序的窗口
- 25. 如何從一個WPF窗口將類數組返回到另一個窗口?
- 26. 如何將WPF UserControl從一個窗口移動到另一個窗口?
- 27. 如何從Windows應用程序寫入控制檯窗口?
- 28. WPF:Focus在一個窗口,用戶控件
- 29. 在一個WPF應用程序,隱藏窗口,然後顯示窗口的同一個實例從另一個窗口調用時
- 30. 從另一個窗口打開WPF窗口
感謝它的作品,但它有點hacky。目標應用程序的行爲是未定義的。一些應用程序是一些如何在操作系統中註冊爲非UI應用程序,即使它們具有UI即Office,並且其中一些應用程序停止正常運行。我有一段時間沒有接受你的答案,希望能得到更多的答案,如果有的話。 – 2011-01-06 17:41:36
我在早上想知道這是如何爲你工作的,因爲我看到你接受了答案並且沒有留下任何評論。我同意這很不方便。如果有更好的方法,我對自己感到好奇;不幸的是,當我需要實現這一點時,我花了很多時間,沒有找到比這更好的東西。那時候,這對我來說是可以接受的,但它絕對不是一段好的代碼,正如我在答案中提到的那樣,我分享了它,因爲這裏沒有答案。 – 2011-01-06 18:39:17
感謝您分享代碼/想法。 – 2011-01-07 07:41:09