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

ASP.NET
ASP.NET 多附件上传实现代码
asp.net 类库中使用ConfigurationManager.ConnectionStrings
asp.net AjaxControlToolKit--TabContainer控件的介绍
ASP.NET环境下为网站增加IP过滤功能
asp.net访问Access数据库溢出错误
ASP.NET AJAX 4.0的模版编程(Template Programming)介绍
asp.net StringBuilder的用法 实例代码
asp.net Accee数据库连接不稳定解决方案
ASP.NET2.0 SQL Server数据库连接详解
asp.net Repeater之非常好的数据分页
C# 生转换网页为pdf
浅谈ASP.NET的Postback 实例代码
asp.net Ext grid 显示列表
通过ASP.net实现flash对数据库的访问
如何创建一个AJAXControlToolKit的扩展控件
asp.net 简单验证码验证实现代码
asp.net 在客户端显示服务器端任务处理进度条的探讨
Asp.net treeview实现无限级树实现代码
asp.net INI文件读写类
asp.net下检测SQL注入式攻击代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 182 ::
收藏到网摘: 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组件来操作了。