这个API调用没胡有语 错误,但为什么在打印出来好多小四方格呀,我以前也遇到 过,不知什么原因
Private Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Sub Form_Click()
Dim temppath As String * 255, tempfilex As String * 255
x = GetTempPath(255, temppath)
temppath = Left(tempfilex, x)
x = GetTempFileName(temppath, "API", 0, tempfilex)
tempfile = Left(Trim(tempfilex), Len(Trim(tempfilex)))
Print "temporary filename is:"
Print tempfile
Print Len(t)
End Sub
问题点数:0、回复次数:7Top
1 楼crcr(游侠)回复于 2003-08-03 18:42:34 得分 0
我实在不知为什么呀Top
2 楼pigpag(Pigpag - A GRE Fighter)回复于 2003-08-03 19:26:22 得分 0
temppath = Left(tempfilex, x)
改为
temppath = Left(temppath, x)
Top
3 楼pigpag(Pigpag - A GRE Fighter)回复于 2003-08-03 19:30:13 得分 0
而且
Private Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
注意,其中lpszPath As String不能是定长字符串。
所以要这样:
Private Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Sub Form_Click()
Dim temppath As String * 255, tempfilex As String * 255
x = GetTempPath(255, temppath)
x = GetTempFileName(Left(temppath, x), "API", 0, tempfilex)
tempfile = Left(Trim(tempfilex), Len(Trim(tempfilex)))
Print "temporary filename is:"
Print tempfile
Print Len(t)
End Sub
Top
4 楼crcr(游侠)回复于 2003-08-03 19:57:19 得分 0
学贵有恒,不必三更眠五更起。
功期无间,只怕一日曝十日寒
学海无涯,孜孜不倦苦为今生,
明年今日,功名成就无尽飞来!
执着追求 永不言败
Top
5 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2003-08-03 20:28:28 得分 0
temppath = StrConv(LeftB(StrConv(tempfilex,vbFromUnicode), x), vbUnicode)
Top
6 楼crcr(游侠)回复于 2003-08-04 22:03:07 得分 0
那是为什么呀???????Top
7 楼pigpag(Pigpag - A GRE Fighter)回复于 2003-08-04 22:46:19 得分 0
因为返回的x是字符串的字节数。
……可能吧……我怎么就不需要这句的Top




