在WPF中托管qt应用程序

时间:2018-04-18 20:04:13

标签: c# wpf qt

我正在尝试在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);

1 个答案:

答案 0 :(得分:0)

答案:external App inside WPF (notepad.exe works but others don't)。简而言之,这是不可能的,因为大多数应用程序都不支持OLE。