如何确定可执行文件的安装位置?

Pr0*_*0no 1 vbscript vba

在我的机器上,Ghostscript (GS) 安装在:

C:\Program Files\gs\gs9.01\bin\gswin32.exe
Run Code Online (Sandbox Code Playgroud)

但在另一台机器上,可能安装了不同的版本:

C:\Program Files\gs\gs7.52\bin\gswin32.exe
Run Code Online (Sandbox Code Playgroud)

或者甚至在完全不同的子文件夹中:

C:\Program Files\ghost\script\gs8.00\bin\gswin32.exe
Run Code Online (Sandbox Code Playgroud)

gswin32.exe我试图找到一个 VBS 函数来确定在当前计算机上可以找到的路径,首先尝试仅使用不同的子文件夹\gs\

Set oShell = createObject("WScript.Shell")
objShell.Run("C:\Program Files\gs\*\bin\gswin32.exe")
Run Code Online (Sandbox Code Playgroud)

然而,这是行不通的。路径中也没有任何其他通配符。我现在怀疑这是否是正确的方法,所以我的问题是:

如何确定可执行文件 gswin32.exe 的安装位置?

HAB*_*JAN 5

最简单的方法是检查注册表。

您正在寻找的是这两个注册表项:

  1. HKEY_LOCAL_MACHINE\SOFTWARE\GPL Ghostscript
  2. HKEY_LOCAL_MACHINE\SOFTWARE\AFPL Ghostscript

如果机器上安装了 Ghostscript,您应该至少找到上述之一。

这些键包含已安装的 Ghostscript 版本子键...其中包含指向 dll / exe 文件的字符串值。

另外,请确保不要对“gswin32.exe”文件名进行硬编码,因为在 64 位操作系统上,该文件名是“gswin64.exe”。