标题:各位高手 ,请问一下,怎么读取某个文件的起始位置,并将其装换为8位字符
只看楼主
jiang8741
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-1-19
结帖率:66.67%
已结贴  问题点数:10 回复次数:3 
各位高手 ,请问一下,怎么读取某个文件的起始位置,并将其装换为8位字符
比如D:\files\select.cab这个文件 谢谢了 最好能写一下 3Q
搜索更多相关主题的帖子: 文件 位置 字符 
2010-01-20 16:34
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:10 
在网上找了一下,然后加了一个注释.
--------------------------------------------------------
Option Explicit

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

Private Sub Command1_Click()

Dim m As Long
Dim path As String
Const pathlen& = 164            '定义一个变量
'获得文件的短文件名
path = String$(pathlen + 1, 0)  '申请返回值的内存空间为 最大长度 + 1 .C 规定,字符串以 \0 结束字符串占用内存比字符串长度多 1

'调用API函数,转为 8.3 短格式,需要存在这个文件,
'API函数,返回结果是有字符串长度,参数1 为 路径, 参数2 是内存起始地址, 参数3 是内存空间长度
m = GetShortPathName("C:\Program Files\Internet Explorer\Iexplore.exe", path, pathlen)

Print Left$(path, m)

End Sub

授人于鱼,不如授人于渔
早已停用QQ了
2010-01-20 17:04
jiang8741
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-1-19
得分:0 
回复 2楼 风吹过b
大概知道意思,就是不会操作,如果仁兄不忙,能帮忙写一下么?谢谢
2010-01-20 19:03
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
调用:
Print 取8_3路径("C:\Program Files\Internet Explorer\Iexplore.exe")


以下代码放在 BAS 模块文件中.
---------------------------
public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long

public  Function 取8_3路径(原始路径 As String) As String
Dim m As Long
Dim path As String
Const pathlen& = 164            '定义一个常量
path = String$(pathlen + 1, 0)  '申请返回值的内存空间为 最大长度 + 1 .C 规定,字符串以 \0 结束字符串占用内存比字符串长度多 1
'调用API函数,转为 8.3 短格式,需要存在这个文件,
'API函数,返回结果是有字符串长度,参数1 为 路径, 参数2 是内存起始地址, 参数3 是内存空间长度
m = GetShortPathName(原始路径, path, pathlen)
取8_3路径 = Left$(path, m)
End Function

授人于鱼,不如授人于渔
早已停用QQ了
2010-01-20 20:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296101-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.787438 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved