代码之家  ›  专栏  ›  技术社区  ›  Aleph0

传递命令行参数[duplicate]时避免为CreateShortcut生成引号

  •  0
  • Aleph0  · 技术社区  · 7 年前

    有人知道如何在qtifw创建的快捷方式中添加参数吗?

    以下是有效的方法(无需论证):

    component.addOperation( "CreateShortcut",
        "@TargetDir@/MyApp.exe",
        "@StartMenuDir@/@ProductName@.lnk",
        "workingDirectory=@TargetDir@",
        "iconPath=@TargetDir@/MyApp.exe",
        "iconId=0");
    

    -c 传递给它。我试过几种方法,但运气不好。

    0 回复  |  直到 8 年前
        1
  •  4
  •   Macias    8 年前

    Qt安装程序框架文档很差,但您可以读入 operations 以下内容: "CreateShortcut" filename linkname [arguments]

    创建从filename指定的文件到linkname的快捷方式。在Windows上,这将创建一个可以有参数的.lnk文件。在Unix上,这会创建一个符号链接。

    那么就这样做吧:

    component.addOperation("CreateShortcut", "@TargetDir@/Appname.exe", "@DesktopDir@/Appname.lnk", "-param");
    

    导致lnk目标元素: C:\YourAppDirectory\Appname.exe -param

    编辑: 你的案子对我也适用:

    component.addOperation( "CreateShortcut","@TargetDir@/Appname.exe","@StartMenuDir@/@‌​ProductName@.lnk", "-param", "workingDirectory=@TargetDir@",  "iconPath=@TargetDir@/Appnam‌​e.exe","iconId=0");
    

    具有 -param