如何用vb 枚举某进程打开的所有文件? 高手帮忙

nanfei01055 2008-01-24 03:02:14
如何用vb 枚举某进程打开的所有文件? 高手帮忙,我找了好多文章都是C++,有的地方看不懂,主要是语法差别比较大.
...全文
183 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhui530 2008-02-14
  • 打赏
  • 举报
回复
你不是要我给你把代码写完吧
关键性代码在几篇文章上都写得很详细
nanfei01055 2008-02-14
  • 打赏
  • 举报
回复
chenhui530 的博客上的关于解锁的代码倒是很多,但我调试了好几天,没有出现任何结果,一运行,就死机,尽管你的博客上说如何处理,但始终没有调试通过,拷贝下来的代码根本不能直接使用,有好多错误,我先得注释或修整之后,不过最终还是没成功.
请问是否可以麻烦给写个函数(只传进程ID进去可以获得)或写段关键代码,在此先谢过了.
Phenlit 2008-01-25
  • 打赏
  • 举报
回复
获取一个已装载模板的完整路径名称
Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

hModule个模块的句柄。可以是一个DLL模块,或者是一个应用程序的实例句柄
lpFileName字串缓冲区,要在其中容纳文件的用NULL字符中止的路径名,hModule模块就是从这个文件装载进来的
东方之珠 2008-01-25
  • 打赏
  • 举报
回复
帮顶~~~~
chenhui530 2008-01-25
  • 打赏
  • 举报
回复
你进了我的博客还找不到吗?你去查看关于解锁文件的文章就可以找到
nanfei01055 2008-01-25
  • 打赏
  • 举报
回复
楼上的哪篇文章好像是解锁文件,我说的是枚举文件,你给的这个地址上函数好像还是需要传两个参数的:第一个参数是进程ID,第二个参数是什么,是文件句柄吗?关键的问题是如何找到此进程打开的文件(不只是.dll)句柄?麻烦楼上的再顶一下


'解锁指定进程的锁定文件
Public Function CloseRemoteHandle(ByVal dwProcessId, ByVal hHandle As Long) As Boolean
Dim hMyProcess As Long, hRemProcess As Long, blnResult As Long, hMyHandle As Long
Dim objCid As CLIENT_ID
Dim objOa As OBJECT_ATTRIBUTES
Dim ntStatus As Long
objCid.UniqueProcess = dwProcessId
objOa.Length = Len(objOa)
hMyProcess = GetCurrentProcess()
ntStatus = NtOpenProcess(hRemProcess, PROCESS_DUP_HANDLE, objOa, objCid)
If hRemProcess Then
ntStatus = NtDuplicateObject(hRemProcess, hHandle, GetCurrentProcess, hMyHandle, 0, 0, DUPLICATE_CLOSE_SOURCE Or DUPLICATE_SAME_ACCESS)
If (NT_SUCCESS(ntStatus)) Then
'If DuplicateHandle(hRemProcess, hMyProcess, hHandle, hMyHandle, 0, 0, DUPLICATE_CLOSE_SOURCE Or DUPLICATE_SAME_ACCESS) Then
blnResult = NtClose(hMyHandle)
End If
Call NtClose(hRemProcess)
End If
CloseRemoteHandle = blnResult
End Function

chenhui530 2008-01-24
  • 打赏
  • 举报
回复
好象在哪我已经回复你了
http://blog.csdn.net/chenhui530/archive/2007/10/18/1831372.aspx
nanfei01055 2008-01-24
  • 打赏
  • 举报
回复
我找到好多C++相关例子,都用到了ZwQueryInformationFile,用到的WaitForSingleObject以及多线程,我用VB调试多次多线程程序,动不动就让VB崩溃了,所有希望有高手帮忙
kbsssnlss 2008-01-24
  • 打赏
  • 举报
回复
帮顶~~~~

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧