我不知道如何提出这个问题,所以这里有一张想到的想法的图片
因此,例如,当您运行我的“自定义启动器”时,它会显示一个窗口,其侧面有几个按钮,您可以为其指定值。当您单击按钮时,相应的程序将在右侧的大面板中运行(在窗口模式下)。
当然,这完全取决于用户的观点。他们只会看到他们想要运行的程序出现在该面板中。实际实现可能与“在另一个程序中运行的一个程序”无关“
我自己的用例仅限于Windows桌面平台,但如果可以概括它也会很好。
这实际上可行吗?我可以编写一个在面板中运行另一个程序的程序吗?启动的程序可能是其他人的程序,例如MS画图或计算器。
答案 0 :(得分:3)
为了扩展我上面的评论,以下是一种可能适合您的方法:假它:)
启动程序时,拦截所有窗口消息到程序,控制它在屏幕上的位置。这样,它“似乎”被固定到位,但实际上它仍然附加到正常的Windows桌面。
这里有一些轻松的阅读材料:
钩子是应用程序可以拦截事件的机制, 例如消息,鼠标操作和击键。一个功能 拦截特定类型的事件称为钩子过程。一个 钩子程序可以对它接收的每个事件起作用,然后修改或 丢弃事件。
答案 1 :(得分:1)
我建议在商业应用程序中反对它,因为你正在修改你不拥有的软件的行为 - 软件可能会假设它的父窗口是什么,但是对于实验,有SetParent Win32函数。