我写的一个程序,需要多用户向一个文本里边写数据,然后把文本上传到服务器上,但是如果文本已经被打开的话,文本就不能上传,怎么样写VB代码可以判断一下这个文本是否处于正在编辑的状态,这样如果文本未被编辑我就可以上传文本文件了。
解决方案 »
- 求一个控件
- 如何抢占系统资源 谈论大会
- 如何去掉Text文字中的回车符
- 不正常的定义参数对象,提供了不一致或不完整的信息?
- 为什么,我在VB中调用一个自制的DLL,我将它和VB工程放到同一个目录中,运行时缺报告找不到DLL,除非把DLL放在WINDOWS目录下才行,这是为
- 如何通过VB向EXCEL模板写入数据?
- 高手大比摒,送分
- 我是个VB,VB.net的初学者。能和大家交流交流吗?
- super OCX超级动态加载控件
- 紧急!!!服务器上调用comm组件的问题
- 新手請教﹕有關 DataGrid ,MSFlexGrid,MSHFlexGrid 的一些問題 ?
- vb 用net use 访问网络共享文件夹
方法1﹕
Function IsOpen(sFile As String) As Boolean
Dim fFile As Integer
fFile = FreeFile()
On Error GoTo ErrOpen
Open sFile For Binary Lock Read Write As fFile
Close fFile
Exit Function
ErrOpen:
If Err.Number <> 70 Then
Msg = "Error # " & Str(Err.Number) & " was generated by " & Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
Else
IsOpen = True
End If
End Function方法2:
Private Declare Function OpenFile Lib "kernel32" (ByVal lpFileName As String, _
lpReOpenBuff As OFSTRUCT, _
ByVal wStyle As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongPrivate Type OFSTRUCT
cBytes As Byte
fFixedDisk As Byte
nErrCode As Integer
Reserved1 As Integer
Reserved2 As Integer
szPathName As String * 128
End TypePrivate Const OF_SHARE_DENY_READ = &H30
Dim My As OFSTRUCTPublic Function IsUse(FileName As String) As Boolean
Dim HFile As Long
HFile = OpenFile(FileName, My, OF_SHARE_DENY_READ)
If HFile = -1 Then
IsUse = True
Else
IsUse = False
CloseHandle HFile
End If
End Function
如果只是为了上传的话..不用判断应该也可行..复制一份到某某地方,然后传复制的这份就可以了..如果真要判断的话,还可以引用这个方法...>> 复制一份 >>删除原TXT (删不了表示打开,在这里设置错误返回值).>> 记得把复制的那份放到原来的地方>> 再传这份复制过来的那个..