亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

c++ - Windows系統中如何獲取快捷方式文件對應的程序路徑?

瀏覽:121日期:2022-10-12 13:11:58

問題描述

目標:獲取快捷方式文件對應的程序(文件)路徑

環境: Windows 10, Visual Studio 2015, C++

問題:

3.1 windows提供了獲取路徑的API, 參見[ISHellLink::GetPath][1]。3.2 使用SLGP_SHORTPATH作為參數能夠解決大部分問題,但是對于涉及到重定向的,該函數返回的是錯誤的路徑。 如“桌面/A.lnk”快捷方式文件對應的程序是“C:Program FilesAA.exe”,但是使用該參數后,返回的路徑是“C:Program Files (x86)AA.exe”。3.3 使用SLGP_RAWPATH作為參數,能獲取長路徑,這樣可以對有環境變量的長路徑進行expand,目前是這個思路。但是函數有時會返回空字符串,但是MSDN上并沒有詳細的解釋。

問題解答

回答1:

不要用ShortPath,8.3短文件名是DOS時代的東西。禁用64位文件重定向,Wow64DisableWow64FsRedirection。還原64位文件系統重定向, Wow64RevertWow64FsRedirection 函數。每當成功調用禁用重定向做完所需操作后,必須立即恢復重定向,以免出現問題。或者64位系統編譯一個64位的程序,就不會重定向了。你可以試著先獲取RawPath,失敗了再調用一次沒有RawPath的。注意RawPath可能包含環境變量,需要ExpandEnviron擴展它。另外你可以試試這個庫:https://github.com/libyal/liblnk

標簽: Windows系統
相關文章:
主站蜘蛛池模板: 日韩久久中文字幕 | 欧美亚洲视频在线观看 | 亚洲激情综合网 | 无毒不卡在线播放 | 国产精品拍自在线观看 | 欧美一级毛片不卡免费观看 | 国产视频久久久 | 免费自拍视频 | 成人欧美一区二区三区视频不卡 | 第一次男生很猛的进去视频 | 欧美亚洲另类一区中文字幕 | 男女做污污无遮挡激烈免费 | 麻豆果冻精品一区二区 | 国产黄色免费网站 | 99re8免费视频精品全部 | 国产精品日韩欧美在线第3页 | 国产精品7m凸凹视频分类大全 | 国产h视频在线观看高清 | 在线免费看片网站 | 中文国产成人精品久久96 | 午夜视频1000 | 720lu牛牛刺激自拍视频 | 黄色成人免费观看 | 亚洲 欧美 中文 日韩专区 | 一级免费黄色毛片 | 欧美一区二区三区在线可观看 | 日本一区二区三区有限公司 | 午夜国产在线观看 | 免费观看欧美一级牲片一 | 久久er99热精品一区二区 | 成人羞羞免费视频 | 最新国产视频 | 国产黄拍 | 精品一区二区久久久久久久网站 | 中文字幕综合在线 | 91视频免费观看网站 | www91com国产91 | 亚洲欧美中文v日韩v在线 | 亚洲一级毛片免费观看 | 国产日韩一区二区 | 亚洲欧美日韩在线线精品 |