|
|
发表于 2010-4-6 12:49:25
|
显示全部楼层
本帖最后由 dtooboss 于 2010-4-6 13:03 编辑
- bool SetFileShortName(IntPtr hFile, string lpShortName);
- Private Declare Function GetShortPathName Lib "kernel32.dll" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
- Private Declare Function SetFileShortName Lib "kernel32.dll" Alias "SetFileShortNameA" (ByVal handle As Long, ByVal lpszShortName As String) As Boolean
复制代码 本来长文件名和短文件名就没有必然的对应关系(后6字符)
只是在 $mtf 目录结构里生成了一个标记而已,
用 kernel32.dll 的 SetFileShortName 函数可以更改这种对应
可以理解为 line 或者类似快捷方式的形式,所以短文件名可以更改。
而长文件名却可以保持不变。
格式应该是 DllCall("kernel32.dll", "bool", "SetShortPathName", "Int_Ptr", $hFile, "str", "xxxxxx~1"); $hFile 为文件句柄。 |
评分
-
查看全部评分
|