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

标签 windows winapi firefox

我正在尝试使用 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 能够确定任务栏按钮如何与窗口和应用程序相关联,以及系统如何确定一个应用程序是否需要为其不同窗口使用两个任务栏按钮,或者多个应用程序是否需要共享一个任务栏按钮。

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

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

但是当我复制可执行文件时,firefox 不是这种情况

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

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

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

关于windows - 修改 exe 以使用命令行参数启动而不创建快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27882708/

相关文章:

java - JavaFX:具有 native 行为的自定义窗口

windows - sh for Windows哪里适合搭建Hadoop?

java - 如何将我的 PC(在 Windows 上运行)用作我的 Android 手机的蓝牙音频设备?

winapi - 是否有相当于 nanosleep 的 Windows?

c++ - 如何将 IcmpSendEcho2 与 PIO_APC_ROUTINE 一起使用?

firefox - 在 Firefox 和 IE 中打开没有地址栏的新弹出窗口

javascript - 检测单选按钮/复选框状态的变化

windows - 如果我违反了对 ProgID 的要求会怎样?

c++ - 检查给定用户配置文件在 C++ 中是否处于事件状态或已删除的最佳方法是什么?

JavaScript 无法在 Chrome 或 Firefox 上运行