Windows 在不修改HKLM或路径的情况下启动可执行文件

Windows 在不修改HKLM或路径的情况下启动可执行文件,windows,Windows,我希望在有限的Windows帐户上安装EXE,并能够从其他应用程序启动它(可能使用ShellExecuteWindows API调用),而调用方不知道安装EXE的文件夹的完整路径。我唯一的选择似乎是修改路径或向HKLM添加条目(SOFTWARE\Microsoft\Windows\CurrentVersion\App PATH) 是否有其他方法允许我的EXE仅通过文件名启动(例如“app.EXE”),或者我运气不好?App Paths注册表技巧是可取的,但似乎是一个仅限HKLM的设置,并且我在有

我希望在有限的Windows帐户上安装EXE,并能够从其他应用程序启动它(可能使用
ShellExecute
Windows API调用),而调用方不知道安装EXE的文件夹的完整路径。我唯一的选择似乎是修改路径或向HKLM添加条目(
SOFTWARE\Microsoft\Windows\CurrentVersion\App PATH


是否有其他方法允许我的EXE仅通过文件名启动(例如“app.EXE”),或者我运气不好?App Paths注册表技巧是可取的,但似乎是一个仅限HKLM的设置,并且我在有限的用户帐户下无法访问此项。

操作系统需要知道应用程序在哪里,并且只有有限的方法可以做到这一点:

  • 完全指定可执行路径
  • 将文件夹包括在搜索路径上

因此,您的选择是有限的。

一些PortableApps.com应用程序(特别是Inkscape portable,但可能还有其他应用程序)似乎在
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\App路径下添加了项。你可能想试试


当然,这只适用于当前用户,而不是机器上的所有用户,但我猜这在您的场景中并不是问题。

@Piskvor-谢谢。这是我这几天来第二次这么做。我会尝试一下HKCU\…\App path,然后再报告。