1

我希望能够在主进程中使用 CreateProcess 打开 GUI 应用程序,并将 GUI 显示在我从主进程中创建的窗口中。有谁知道如何实现这一目标?谢谢!

4

2 回答 2

6

如果您可以控制这两个应用程序,那么可以。

这就是屏​​幕保护程序在屏幕保护程序控制面板中的显示方式 - 控制面板通过命令行上的对话框窗口,而 .scr 文件 - 只是一个简单的 exe - 使用给定的 hwnd 作为其子窗口创建其窗口父母。

然而,不很好地支持捕获先前编写的顶级窗口并强制它存在于您自己的框架中。

同样,您可以轻松尝试:我编写了一个测试应用程序,它创建了一个空框架窗口,为记事本副本做了一个 FindWindow,并将记事本窗口重新设置为我框架的子级。

所以它确实有效:至少在这个简单的场景中,但不能保证:修改自己的框架样式的更复杂的应用程序很可能会崩溃,另外在不同的线程上有一个子窗口和父窗口会引入死锁的可能性。

于 2010-09-23T13:04:16.480 回答
1

不,你不能这样做。

可能有用的东西...您可以开始该过程,然后使用窗口句柄对窗口进行一系列更改以取下框架。然后,您可以将其移动到窗口中其他一些放置控件的位置,并且当您有移动/调整大小事件时,您还可以调整此子窗口的大小。

于 2010-09-23T03:18:14.890 回答