思路:
用WebBrowse打开一个文件,此文件如果是doc,将自然用word打开了。我的需求是要独点这个文件,不能给其它进程打开。如何是好我现在的做法是用WebBrowse打开之后,用openfile api再以独占方式打开,但不成功,因为这个文件已被WebBrowse调用word打开了。如果先用openfile api以独占方式打开,WebBrowse调用word又打不开了。经过几天的调试,试过几种办法,都不成功,那位兄弟还有什么招???听过hook,但不知怎么搞
有没有办法取到WebBrowse调用word打开这个doc文件的句柄,再用CloseHandle来关掉,再用openfile以独占方式打开
用WebBrowse打开一个文件,此文件如果是doc,将自然用word打开了。我的需求是要独点这个文件,不能给其它进程打开。如何是好我现在的做法是用WebBrowse打开之后,用openfile api再以独占方式打开,但不成功,因为这个文件已被WebBrowse调用word打开了。如果先用openfile api以独占方式打开,WebBrowse调用word又打不开了。经过几天的调试,试过几种办法,都不成功,那位兄弟还有什么招???听过hook,但不知怎么搞
有没有办法取到WebBrowse调用word打开这个doc文件的句柄,再用CloseHandle来关掉,再用openfile以独占方式打开
解决方案 »
- 会不会有一天 windows api 完全无法直接调用了?
- 请问迅雷那种像泡泡升起的消息效果是怎么做到的?
- 在线等,怎么判断数据库里是否有记录啊,我的方法行不通
- 要想用select察看日期字段(time),在2003-6-21之后的应该怎么写?
- **如何获得MP3歌曲的信息(如歌手,歌名..)***********
- 如何将数据库中表列出来?好像用ado无法查找吧,有tables对象吗?
- 電腦高手,xp操作系統怎麽設置撥號上網阿,說說步驟?謝謝!
- getchunk 在DAO中疑问?请帮忙,在线等待.附我的代码.
- 怎样解决无VB环境的附带在光盘的自动执行程序
- text控件能否接受keypress事件中的vbkeyup吗?ThankYou
- vb使用mscomm控件来接收短消息的问题!
- 如何使VB自带的datagrid控件支持鼠标中滚
Option Explicit
Private Const FILE_LIST_DIRECTORY = &H1
Private Const FILE_SHARE_READ = &H1&
Private Const FILE_SHARE_DELETE = &H4&
Private Const OPEN_EXISTING = 3
Private Const FILE_FLAG_BACKUP_SEMANTICS = &H2000000
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal PassZero As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal PassZero As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongDim File_Share_Flag As Long
Dim hDir As Long
Private Sub cmdlock_Click()
Dim PathDir As String
PathDir = Text1.Text
hDir = CreateFile(PathDir, FILE_LIST_DIRECTORY, File_Share_Flag, _
ByVal 0&, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, ByVal 0&)
cmdlock.Enabled = False
cmdunlock.Enabled = True
End Sub
Private Sub cmdunlock_Click()
CloseHandle hDir
cmdlock.Enabled = True
cmdunlock.Enabled = False
End Sub
Private Sub Form_Load()
File_Share_Flag = 0 'if =FILE_SHARE_READ then read only (for example)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call cmdunlock_Click
End Sub
你这种办法只能控制还没打开的文件,一当打开了这个文件,再使用CreateFile ()
CreateFile()将会失败!!!,我现在是要先打开这个文件,再要想办法去控制它