【问题标题】:where ShellExecute found the exe filesShellExecute 在哪里找到了 exe 文件
【发布时间】:2015-06-30 10:17:21
【问题描述】:

我正在用纯 C 语言编写一个程序,使用 win32 api。

我需要知道注册程序的完整路径。

例如,如果我写

ShellExecute(0,0,"chrome",0,0,SW_SHOW)

chrome 浏览器启动。如何像ShellExecute 那样从"chrome" 获得"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

【问题讨论】:

    标签: c winapi shellexecute


    【解决方案1】:

    在这种情况下,Chrome 已在 App Paths 注册表部分中注册了自己。更多详情请查看 MSDN:https://msdn.microsoft.com/en-us/library/windows/desktop/ee872121.aspx

    查找应用程序可执行文件

    当使用一个名称调用 ShellExecuteEx 函数时 可执行文件在其lpFile参数中,有几个地方 函数在哪里查找文件。我们建议您注册 应用程序路径注册表子项中的应用程序。这样做可以避免需要 供应用程序修改系统PATH环境变量。

    在以下位置查找文件:

    • 当前工作目录。
    • 仅 Windows 目录(不搜索子目录)。
    • Windows\System32 目录。
    • PATH 环境变量中列出的目录。
    • 推荐:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App 路径

    documentation 告诉您 shell 如何搜索,您可以复制该搜索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 2015-08-31
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多