国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

瀏覽:122日期: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系統
相關文章:
主站蜘蛛池模板: 中文字幕久久久 | 热伊人99re久久精品最新地 | 久久成人视 | 国产在线一区二区三区在线 | 欧美日韩一区二区三区免费不卡 | 在线播放高清国语自产拍免费 | 日本黄网站高清色大全 | 国内精品线在线观看 | 亚洲欧美在线观看播放 | 中文字幕亚洲欧美日韩不卡 | 国产男女爽爽爽免费视频 | 黑人巨大videos极度另类 | 伊人黄网| 碰碰碰人人澡人人爱摸 | 国产日本欧美在线观看 | 高清韩国a级特黄毛片 | 韩国特级毛片 | 欧美精品一区二区在线观看播放 | 美女黄频免费观看 | 91极品尤物 | 日韩欧美久久一区二区 | 成人精品国产亚洲欧洲 | 欧美xxxxxxxx| 国产黄色一级毛片 | 欧美另类特大 | xp123欧美亚洲国产日韩 | 久久er热在这里只有精品85 | 午夜寂寞福利 | 精品一区二区三区高清免费不卡 | 欧美精品日日鲁夜夜添 | 午夜免费成人 | 俄罗斯极品美女毛片免费播放 | 国产看片一区二区三区 | 国产精品伦理久久久久 | 广东毛片 | 国产一区精品在线 | 久久这里只有精品视频99 | 精品综合久久久久久88小说 | 失禁h啪肉尿出来高h男男 | 亚洲欧美日韩在线不卡中文 | 亚洲加勒比 |