亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

瀏覽:150日期: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系統
相關文章:
主站蜘蛛池模板: 精品国产亚洲人成在线 | 亚洲综合日本 | 色天天躁夜夜躁天干天干 | 国内成人精品视频 | 和日本免费不卡在线v | 国产黄色a三级三级三级 | 欧美激情综合亚洲五月蜜桃 | 神马我我不卡伦影视 | 在线精品一区二区三区 | 秘书高跟黑色丝袜国产91在线 | 久久久久毛片成人精品 | 欧美一区二区免费 | 国产成人在线视频播放 | 精品欧美成人高清视频在线观看 | 成熟的女性强烈交性视频 | 亚洲国产欧美在线不卡中文 | 香蕉久久夜色精品国产 | 黄色三级网址 | 日韩国产欧美一区二区三区在线 | 国产成人亚洲精品2020 | 亚洲视频免费在线看 | 亚洲国产精品综合久久久 | 精品国产系列 | 欧美黑大粗硬毛片视频 | 国产在线精品一区二区高清不卡 | 成人欧美在线视频 | 一级特级欧美a毛片免费 | 国产一区二区精品在线观看 | 欧美成人aaa大片 | 一本色道久久综合亚洲精品高清 | 国产成人手机视频 | 欧美国产成人免费观看永久视频 | 欧美精品成人久久网站 | 久久精品大片 | 日韩一级片在线免费观看 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | 久久久久国产精品免费看 | 中国女人毛片 | 色吊丝在线观看国产 | 精品九九视频 | 亚洲综合精品一区二区三区中文 |