|
中午休息时,在FOX API(我常用的Win32 API浏览器)上发现了一个简单极好用的Win32API函数,是用来判断本地文件或远程机器文件是否存在的:
1. Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
这是封装在Shell32.DLL系统文件里的一个函数,既可以判断本地文件是否存在,又可以判断远程电脑上的文件是否存在。函数返回值是个Long型变量,返回两个值0,1。1表示文件存在(True),0表示文件不存在(False)。而且只有一个参数szPath,是个字符串变量,如果要判断本地的文件是否存在其路径可写为:”C:\Windows\Config\SysBook.Txt”),如果文件在远程电脑上,其路径可写为(假设对方电脑IP为192.168.0.2)
"\\192.168.0.2\d$\javatools\somefile.txt",如果其电脑名为WorkStation可写为
“\\workstation\javatools\somefile.txt",当然这个函数还可以查找网站上的网页文件如:"http://www.microsoft.com/ms.htm"
我们可以写个简单的自定义公用函数来完成这个功能,在自定义函数里调用这个API函数
Public Function GetFileExists(ByVal FileName As String) As Boolean If FileName = "" Then MsgBox "请输入文件名", vbInformation, "提示" Exit Function Else GetFileExists = CBool(PathFileExists(FileName)) End If End Function
在窗体界面上加一按钮,和一文本框
Private Sub Command1_Click() Dim T As Boolean T = GetFileExists("F:\it\Develope\Retail\Bill\vssver.scc") If T = True Then Text1.Text = "该文件存在" Else Text1.Text = "该文件不存在" End If End Sub
当然GetFileExists其中的参数还可以写成
"\\192.168.0.2\d$\javatools\somefile.txt"
"\\workstation\javatools\somefile.txt"
"http://www.microsoft.com/ms.htm"
这个函数除了能判断文件是否存在外,还可以判断本地或远程文件夹
是否存在,我觉得这要比用Dir这个VB自带函数来判断文件是否存在要好用多了,而且也不需要调用FileSystemObject组件来操作了。
[VB.NET程序]Auto Complete combo Box(VB.NET Source Use API… [VB.NET程序]在 VB 中使用 Unicode API [VB.NET程序]API 更改系统菜单条目 [VB.NET程序]在VB中调用Windows API的注意事项 [VB.NET程序]vb调用winInet API接口post数据到指定的url [VB.NET程序]如 何 用 API 播 放 CD [VB.NET程序]VB5.0与Windows API 间的呼叫技巧 [VB.NET程序]在VB6中用WINDOWS API函数读写INI文件 [VB.NET程序]Visual Basic调用Windows API函数的应用举例 [VB.NET程序]VB + API 获取 IE 的 代理服务器 配制
|