檔案過濾驅動短名轉長名實現

2021-05-28 01:17:55 字數 851 閱讀 5409

網上只找到了楚狂人寫下的方法:

思想是:

首先你假設你得到乙個路徑 /aaaaaa~1/bbbbbb~1/cccccc~1/dddddd~1.txt.然後你把它分解成:

/aaaaaa~1

bbbbbb~1

cccccc~1  

dddddd~1.txt

以上 5 個物件.首先開啟用 zwcreatefile 開啟第乙個目錄.第乙個目錄總是"/",這不可能是短名.然後呼叫

zwquerydirectoryfile 列舉下面所有的檔案和目錄.如果你用 fileidbothdirectoryinformation 進行查詢.那麼

會得到一組 file_id_both_dir_information結構裡有wchar filename[1]; 即為長名。長短名都到手了,

那麼我們當然可以找到"/"之下的第乙個"aaaaaa~1"所對應的長名了.然後依次類推,逐個查詢.

直接開啟 /aaaaaa~1/bbbbbb~1/cccccc~1/dddddd~1.txt  或者/aaaaaa~1/bbbbbb~1/cccccc~1/

來querynamestring依然會得到短檔名。

我實現方法得到了此方法的啟發, 首先找到第乙個~1的位置,然後得到上一級目錄的全路徑名。對此路徑下的檔案作遍歷,

找到包含此短名的長檔名。然後再對下一級迴圈,知道找到給定檔名結束。下面簡單貼下概要**。

do else

if ( pwchar != null )

while ( pwchar != null );

strfilename即為長名。getfrdfile就是zwcreatefile開啟路徑檔案,查詢路徑屬性,找到短名對應的長名。

PHP實現URL長連線轉短連線方法

短鏈結,通俗來說,就是將長的url 通過程式計算等方式,轉換為簡短的 字串。1 內容需要 2 使用者友好 3 便於管理。實現短 short url 系統比較流行的演算法有兩種自增序列演算法 摘要演算法 1 將長 md5生成 32 位簽名串,分為 4 段,每段 8 個位元組 2 對這四段迴圈處理,取 ...

PHP實現URL長連線轉短連線方法總結

閱讀目錄 這樣的話其好處為 1 內容需要 2 使用者友好 3 便於管理。實現短 short url 系統比較流行的演算法有兩種自增序列演算法 摘要演算法 回到頂部 自增序列演算法也叫永不重複演算法 設定 id 自增,乙個 10進製 id 對應乙個 62進製的數值,1對1,也就不會出現重複的情況。這個...

檔案過濾驅動 獲取全路徑名

第一部分 取全路徑 以下是獲取全路徑的所有函式 string操作參見字串操作的乙個庫unicode.lib record add by lwf 07 07 25 purpose get symbolic target unicode string pvoid spygetsymbolicunistr...