问题描述
- 如何通过一个打开的文件夹句柄获得文件夹的完整路径
-
我在msdn上看到了一个例子,可以从一个打开的文件句柄获取到文件名,但是
那种方法对于文件夹的句柄是没有用的,msdn示例的链接地址:
http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa366789(v=vs.85).aspx我期望能够从一个文件夹句柄得到该文件夹的完成路径,不知道谁可以帮助我!
解决方案
问题已解决,使用NtQueryObject()解决的。
解决方案二:
文件夹哪里来的句柄?
解决方案三:
这里的句柄说的是CreateFile/ReadFile用的句柄,不是FindFirstFile/FindNextFile的句柄。
解决方案四:
我要实现的功能是文件隐藏,需要隐藏一个目录下的所有文件,
我hook了NtQueryDirectoryFile这个API,里面能够获取的信息很有限,
如果不能得到explorer.exe当前正在浏览目录的完成信息,可能会误将一个同名字目录下的文件都隐藏,希望高手解答。
解决方案五:
我在网上找到了一个和我遇到同问题的朋友,他的帖子2楼里提到用NtQueryObject可以解决,
我仔细的研究了NtQueryObject这个API,发现是不能够得到的。
原帖地址如下:
http://stackoverflow.com/questions/3820836/how-to-get-the-directory-name-path-from-an-opened-handle
解决方案六:
隐藏文件直接写shell扩展就可以了。
解决方案七:
文件系统驱动过滤,filter
解决方案八:
如果上层应用,也可以通过ShellExtension来做。自己控制explore的行为
解决方案九:
但是Shell Extension等,对命令行没用,用户可以用命令行,dir查看
解决方案十:
dir用的是ntdll,除非用ifs,否则还是无效的。那就大费周章了。
时间: 2024-11-27 14:49:14