vb,使用API 函数 定位文件 (而不是文件夹)

小虾米zheng 2010-06-24 10:59:44
RT ,API函数有SHGetPathFromIDList,SHBrowseForFolder 了 ,我现在想使用这些函数实现定位文件,并获取文件的全路径,应该怎么做,谁能教教我。。 在线等 急用!!!!!!或则有什么 好的方法的。。(最好也是API 函数,不要CommonDialog。#17 )
...全文
73 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengmenghua 2010-06-24
  • 打赏
  • 举报
回复
Private Type OPENFILENAME 
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long
Private Sub Form_Load()
Dim zmh1 As OPENFILENAME
With zmh1
.lStructSize = Len(zmh1)
.lpstrFile = String(255, 0)
.nMaxFile = 255
.lpstrFileTitle = String(255, 0)
.nMaxFileTitle = 255
End With
zmh2 = GetOpenFileName(zmh1)
file1 = Left$(zmh1.lpstrFile, zmh1.nMaxFile)
file1 = Replace(file1, Chr(0), "")
file2 = Left$(zmh1.lpstrFileTitle, zmh1.nMaxFileTitle)
file2 = Replace(file2, Chr(0), "")
MsgBox file1 & vbCrLf & file2
End Sub
小虾米zheng 2010-06-24
  • 打赏
  • 举报
回复
已经弄好了 还是谢谢你们了 分就给你们了 都没人回我的 伤心了
东方之珠 2010-06-24
  • 打赏
  • 举报
回复
用API函数:GetFullPathName,或者VB提供的DIR函数均可。

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧