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

时间:2015-01-11 00:29:59

标签: windows winapi firefox

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

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

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

我不想让它成为捷径,因为我在任务栏上遇到了一些奇怪的分离问题。

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

由于

2 个答案:

答案 0 :(得分:2)

制作可执行文件的副本似乎是一个糟糕的主意。你为什么要有两份相同的东西。

我制作了一个启动程序。一个非常简单的程序,除了使用修改的命令行启动原始可执行文件之外什么也没做。

答案 1 :(得分:1)

这不会回答你关于如何做的问题,但它应该会给你一个关于发生了什么的线索

Windows使用所谓的Application ID,它是windowsprocessesshortcuts的属性。 使用此ID Windows可以确定任务栏按钮与窗口和应用程序的关联方式,以及系统如何确定应用程序是否需要两个任务栏按钮用于其不同的窗口,或者多个应用程序是否需要共享一个任务栏按钮。 / p>

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

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

但是当我复制可执行文件

时,firefox不是这种情况

firefox可能正在将所有正在运行的实例的Application IDs更改为一个应用程序ID,这就是所有firefox任务栏图标组合在一起的原因。 即使您试图自己构建它,即使这样说也不容易。

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

有关任务栏API

的详情,请查看this link