![获取正在运行 *.exe 的路径](https://linux22.com/image/1314755/%E8%8E%B7%E5%8F%96%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%20*.exe%20%E7%9A%84%E8%B7%AF%E5%BE%84.png)
我目前正在为我的网吧开发一个定制的 CafeSuite 系统。我正在使用 Java 和 JNI(Java 本机接口)来访问 Windows 注册表。但我有这个模块,但我无法获得它,或者看看它是否可以在 Windows XP 上运行。
当我在命令行上输入命令时,它会返回系统中正在运行的所有程序。但是,tasklist
尽管可以向该行添加所有参数,但我找不到返回目录或执行 *.exe 的位置的参数。tlist
*.exe
path
不幸的是,我没有使用任何 Windows Server 操作系统,也不依赖UAC
该操作系统的任何防火墙或用户帐户控制功能。
通过给定的手段,是否有可能追求这样的概念?
答案1
在 XP 及以上版本中,您可以使用“系统信息”工具来显示路径。您可以从菜单“开始”→“所有程序”→“附件”→“系统工具”中运行此工具,也可以从命令行运行msinfo32
(或“开始”→“运行…”→ msinfo32
ENTER)。
点击“软件环境”→“运行任务”,显示路径。
答案2
使用 Windows Powershell,如果您想找出“firefox.exe”的路径,您可以执行以下操作:
(Get-WmiObject -class Win32_Process -Filter 'Name="firefox.exe"').path.SubString(0, (Get-WmiObject -class Win32_Process -Filter 'Name="firefox.exe"').path.LastIndexOf('\'))
这将返回:
C:\Program Files (x86)\Mozilla Firefox
用所需的可执行文件替换“firefox.exe”。
答案3
我认为这解决了问题。我已经谷歌搜索过了这里关于它并且它使用命令行工作。