gpt4 book ai didi

winapi - 在自己的进程中启动外部 exe

转载 作者:行者123 更新时间:2023-12-02 09:48:31 25 4
gpt4 key购买 nike

我有一个 VB6 可执行文件,我们将其用作实际程序的 Starter 可执行文件。

问题是Windows 7在任务栏中显示了一个新进程的新图标,而不是我单击来启动程序的图标(当然,因为启动器exe已经结束了,新的exe似乎是一个新程序)。

目前我使用 Shell 对象来启动另一个 exe。有没有更好的方法从 vb6 中做到这一点,也许通过使用带有声明的 native C 函数来在当前进程中启动 exe,而不生成新进程?

编辑:

感谢 atzz 提供有关应用程序模型 ID 的重要信息。现在,我的应用程序启动器有了一个带有明确定义的 ID 的快捷方式,并且我的应用程序还在启动时设置了 ID,并且现在可以通过工具栏中的右侧图标进行完美访问。但是,仍然存在两个问题:

  1. 该应用程序是一个以 Exe4J 启动的 Java 应用程序,在 Exe4J 显示启动屏幕之前我没有任何机会设置 AppID,因此在显示启动屏幕时,任务栏中有第二个图标。

  2. 如果我不手动将入门应用程序图标从桌面拖动到工具栏,而是使用我的应用程序图标并将其设置为“粘性”,则粘住真正的应用程序,而不是启动器。

如果我的启动器能够从自己的进程中启动应用程序,那么这两个问题都将得到完美解决。我听说 Linux 程序使用 exec() 而不是 fork() 来实现这一目标...Windows 是否有类似的东西?

最佳答案

我相信有一种方法可以通过 Windows 7 任务栏 API 来完成您所需要的任务,尽管我自己从未这样做过,因此不太清楚地记得我在该主题上读过的内容。环顾一下应用程序 ID 概念。

一些链接:

关于winapi - 在自己的进程中启动外部 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5115018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com