如何编写一个在其中运行另一个GUI程序的程序

时间:2013-12-09 04:27:08

标签: windows launcher

我不知道如何提出这个问题,所以这里有一张想到的想法的图片

pic

因此,例如,当您运行我的“自定义启动器”时,它会显示一个窗口,其侧面有几个按钮,您可以为其指定值。当您单击按钮时,相应的程序将在右侧的大面板中运行(在窗口模式下)。

当然,这完全取决于用户的观点。他们只会看到他们想要运行的程序出现在该面板中。实际实现可能与“在另一个程序中运行的一个程序”无关“

我自己的用例仅限于Windows桌面平台,但如果可以概括它也会很好。

这实际上可行吗?我可以编写一个在面板中运行另一个程序的程序吗?启动的程序可能是其他人的程序,例如MS画图或计算器。

2 个答案:

答案 0 :(得分:3)

为了扩展我上面的评论,以下是一种可能适合您的方法:假它:)

启动程序时,拦截所有窗口消息到程序,控制它在屏幕上的位置。这样,它“似乎”被固定到位,但实际上它仍然附加到正常的Windows桌面。

这里有一些轻松的阅读材料:

Windows Event Hooks

  

钩子是应用程序可以拦截事件的机制,   例如消息,鼠标操作和击键。一个功能   拦截特定类型的事件称为钩子过程。一个   钩子程序可以对它接收的每个事件起作用,然后修改或   丢弃事件。

答案 1 :(得分:1)

我建议在商业应用程序中反对它,因为你正在修改你不拥有的软件的行为 - 软件可能会假设它的父窗口是什么,但是对于实验,有SetParent Win32函数。