我目前這樣做如下:更好的方式來「停靠」在windows.forms面板中運行應用程序的第三方?
// _Container is the panel that the program is to be displayed in.
System.Diagnostics.Process procTest = new System.Diagnostics.Process();
procTest.StartInfo.FileName = "TEST.EXE";
procTest.StartInfo.CreateNoWindow = false;
procTest.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
procTest.Start();
procTest.WaitForInputIdle();
SetParent(procTest.MainWindowHandle, _Container.Handle);
MoveWindow(procTest.MainWindowHandle,
0, 0, _Container.Width, _Container.Height, true);
我這段代碼遇到的問題是,應用程序UI不再起作用的某些部分正確,一旦我改變MainWindowHandle(即:按鈕缺少文字)。
有沒有辦法做到這一點,而不會造成停靠的應用程序的問題? (通過.net或user32)?
+1 ...我嘗試了使用AHK的其他應用程序,但總是想知道如何在C#中。最終,我會用它來獲取windows的任務欄,托盤,啓動按鈕等等,並創建一個自定義的UI。 – Sivvy 2009-09-16 20:48:36