我正在尝试在windowsforms / wpf应用程序中托管QT应用程序的窗口。我已经在这个问题上看到了很多问题和答案。但是他们不能为我工作(窗口不会以wpf形式出现并且仍然独立运行)。
我有一个必须在Windows上以管理员模式启动的应用程序。当我尝试使用SetParent在我的应用程序中嵌入/托管它时,它不显示,并且SetParent返回0.
其他应用程序(如notepad ++)可以正常工作,我是否需要执行其他步骤来托管管理员模式窗口?
修改1:
int h = FindWindow(null, "Game Browser");
IntPtr hwnd = (IntPtr)h;
// Both h and hwnd are set to correct values
var helper = new WindowInteropHelper(this);
var x = SetParent(hwnd, helper.Handle);
// x remains 0, helper.Handle returns a seemingly correct value
// remove control box
int style = GetWindowLong(hwnd, GWL_STYLE);
style = style & ~WS_CAPTION & ~WS_THICKFRAME;
SetWindowLong(hwnd, GWL_STYLE, style);
答案 0 :(得分:0)
答案:external App inside WPF (notepad.exe works but others don't)。简而言之,这是不可能的,因为大多数应用程序都不支持OLE。