当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > VB之Win32 API编程--判断本地或远程文件是否存在的简易方法

ASP.NET
AspNetPager与Socut.Data使用方法
asp.net UpdaeProgress的简单用法
asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法
asp.net 简易生成注册码(数字+大小写字母)
asp.net中利用ashx实现图片防盗链代码
ASP.NET程序中常用代码汇总
ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录
ASP.NET Ajax级联DropDownList实现代码
ASP.NET 2.0写无限级下拉菜单
asp.net Web Services上传和下载文件(完整代码)
asp.net DataGrid控件中弹出详细信息窗口
Asp.NET 多层登陆实现代码
利用Asp.Net回调机制实现进度条
ASP.NET Ref和Out关键字区别分析
Javascript调用Webservice的多种方法
.Net下的签名与混淆图文分析
.Net Compact Framework开发小技巧 推荐
.Net连接Oracle数据库的实现代码
js获取.aspx页面里面的服务器控件和.ascx中的服务器控件值
asp.net下 jquery jason 高效传输数据

ASP.NET 中的 VB之Win32 API编程--判断本地或远程文件是否存在的简易方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 136 ::
收藏到网摘: n/a


中午休息时,在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组件来操作了。