修改 exe 以使用命令行参数启动而不创建快捷方式

Modify exe to launch with command line arguments without creating shortcut

我正在尝试使用 winapi 方法修改 exe。

我也不知道如何手动完成,所以如果有人可以与我分享这将是一个好的开始然后我可以尝试以编程方式实现它。

基本都有这个exe:"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"。 我复制并粘贴到:"C:\Program Files (x86)\Mozilla Firefox\SecondFirefox.exe"

我不想将它设为快捷方式,因为我在任务栏上遇到了一些奇怪的分隔问题。

我想使用 -P "Dev" -no-remote 的默认命令行参数启动 "SecondFirefox.exe",这可能吗?

谢谢

制作可执行文件的副本似乎不是个好主意。为什么你应该有同样的东西的两个副本。

我会制作一个启动程序。一个非常简单的程序,仅使用修改后的命令行启动原始可执行文件。

这不会回答您关于如何操作的问题,但它应该为您提供有关正在发生的事情的线索

Windows 使用所谓的 Application ID,它是 windowsprocessesshortcuts 的属性。 使用此 ID Windows 能够确定任务栏按钮如何与 windows 和应用程序相关联,以及系统如何确定应用程序是否需要两个任务栏按钮用于其不同的 windows 或多个应用程序是否需要共享一个任务栏按钮。

但是这些IDs可以由应用程序自定义,这意味着应用程序仍然可以指定两个windows是否共享相同的图标

我创建了一个小的可执行文件,然后复制它并一起启动它们,结果每个都有自己的图标。

但是当我复制可执行文件

时,firefox的情况并非如此

很可能 firefox 正在将所有 运行 个实例的 Application IDs 更改为一个应用程序 ID,这就是所有 firefox 任务栏图标合并的原因。 话虽如此,即使您尝试自己构建它,也不容易做到。

我不确定,因为我不想阅读源代码,但您仍然可以查看是否正确。

查看 this link 了解有关任务栏的更多信息 API