【问题标题】:Create Windows installer to copy batch files and create shortcut keys for them创建 Windows 安装程序以复制批处理文件并为其创建快捷键
【发布时间】:2014-12-21 07:23:02
【问题描述】:

我想在用户系统上安装一组 3 个批处理文件。我想创建一个安装程序 -

  1. 将这些批处理文件复制到用户在安装过程中指定的文件夹中。
  2. 为每个批处理文件创建键盘快捷键。
  3. (可选)允许用户在安装过程中选择这些键盘快捷键。
  4. 为所有这些创建卸载程序。

我尝试了几个安装程序,例如 Inno Setup、NSIS,但找不到创建键盘快捷键的功能。

有人知道有什么方法可以实现吗?

谢谢。

【问题讨论】:

  • 我从来没有听说过使用键盘快捷键的安装程序。你想让他们做什么?除了“经常点击‘下一步’按钮”之外,您还计划进行多少互动?
  • @SomethingDark 我认为你读错了。我想为安装程序将安装/复制的批处理文件创建键盘快捷键,以便可以从 Windows 中的任何位置执行这些批处理文件。
  • 您应该将其添加到您的问题中。为了从任何地方运行文件,请将它所在的文件夹添加到 PATH 变量中。
  • 您在 Inno Setup 的 [Icons] 部分中有 HotKey 参数。我相信可以从某个输入编辑框填充来自[Code] 的这个值。

标签: windows batch-file installation inno-setup nsis


【解决方案1】:

您需要创建分配热键的快捷方式。在 NSIS 中,您可以使用 CreateShortCut 指令来完成。

文档中的示例:

CreateDirectory "$SMPROGRAMS\My Company"
CreateShortcut "$SMPROGRAMS\My Company\My Program.lnk" "$INSTDIR\My Program.exe" \
  "some command line parameters" "$INSTDIR\My Program.exe" 2 SW_SHOWNORMAL \
  ALT|CONTROL|SHIFT|F5 "a description"

【讨论】:

    【解决方案2】:

    查看此链接 http://www.jrsoftware.org/ishelp/index.php?topic=iconssectionHotKey 部分。

    您可以做的是,创建一个额外的页面并允许用户在其中定义一些快捷方式,然后将它们分配给您通过函数返回的变量。

    最终看起来像

    Hotkey: {code:GetHotkey}
    

    【讨论】:

    • 您不能将{code:} 常量用于Hotkey 参数(必须知道at compilation time)。所以我的信念是错误的。但是您仍然可以在[Code] 部分中纯粹使用IShellLinkW 接口来创建快捷方式。更糟糕的是清理编辑文本并将其转换为快捷方式值(但这也是与 NSIS 相关的问题,除非它们具有内置支持,例如hotkey controls)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多