【发布时间】:2020-04-11 17:56:40
【问题描述】:
当我尝试以下代码时:
char pathStr[MAX_PATH];
DWORD pathLen = GetFullPathNameA("notepad++.exe", MAX_PATH, pathStr, NULL);
我在“pathStr”中输入了当前目录的路径,其末尾带有“notepad++.exe”,而不是文件的真实路径...我在这里遗漏了什么吗?
【问题讨论】:
-
GetFullPathName将当前驱动器和目录的名称与指定的文件名合并 -
我想你要找的函数是
SearchPathW。 -
哦,好吧...那么还有另一种方法可以找到特定文件的路径吗?哈哈,我觉得自己像个白痴
-
谢谢!:) @ErykSun
-
如果在
PATH目录下没有找到该文件,您也可以尝试AssocQueryStringW(ASSOCF_INIT_BYEXENAME) 并尝试在“[HKCU|]下枚举用户和系统App Paths HKLM]\Software\Microsoft\Windows\CurrentVersion\App 路径”。