【发布时间】:2011-04-16 01:41:16
【问题描述】:
我希望能够在主进程中使用 CreateProcess 打开 GUI 应用程序,并将 GUI 显示在我从主进程中创建的窗口中。有谁知道如何实现这一目标?谢谢!
【问题讨论】:
标签: c++ winapi createprocess win32-process
我希望能够在主进程中使用 CreateProcess 打开 GUI 应用程序,并将 GUI 显示在我从主进程中创建的窗口中。有谁知道如何实现这一目标?谢谢!
【问题讨论】:
标签: c++ winapi createprocess win32-process
如果您可以控制这两个应用程序,那么可以。
这是屏幕保护程序在屏幕保护程序控制面板中的显示方式 - 控制面板通过命令行上的对话框窗口,.scr 文件 - 只是一个简单的 exe - 使用给定的子窗口创建其窗口hwnd 作为其父级。
但是,不很好地支持捕获以前编写的顶级窗口并强制它存在于您自己的框架中。
同样,您可以轻松尝试:我编写了一个测试应用程序,该应用程序创建了一个空框架窗口,为记事本副本创建了一个 FindWindow,并将记事本窗口重新设置为我框架的子级。
所以它确实有效:至少在这个简单的场景中,但不能保证:修改自己的框架样式的更复杂的应用程序很可能会崩溃,另外在不同的线程上有一个子窗口和父窗口引入了以下可能性死锁。
【讨论】:
不,你不能这样做。
一些可行的方法...不过,您可以启动该过程,然后使用窗口句柄对窗口进行一系列更改以取下框架。然后,您可以将其移动到窗口中其他一些放置控件的位置,当您有移动/调整大小事件时,您还可以调整此子窗口的大小。
【讨论】: