文件句柄-如何通过一个打开的文件夹句柄获得文件夹的完整路径

问题描述

如何通过一个打开的文件夹句柄获得文件夹的完整路径

我在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

文件句柄-如何通过一个打开的文件夹句柄获得文件夹的完整路径的相关文章

dxf文件 图元句柄-dxf文件生成时图元句柄分配问题

问题描述 dxf文件生成时图元句柄分配问题 在写输出dxf文件的程序,关于图元句柄怎么分配一直摸寻不到规律,总出错,希望接触过的大神能指导一下 解决方案 http://blog.csdn.net/password318/article/details/7009939

怎么让Windows8系统的文件资源管理器显示完整路径呢?

Windows8文件资源管理器窗口中文件路径的显示方式为只显示当前窗口文件所在文件夹的名称,如果你觉得不喜欢,想要显示该文件的完整路径? 没问题,今天就来教大家怎样在文件资源管理器窗口顶栏上显示该窗口中文件的完整路径. 具体操作方法如下: 1.Win+E打开资源管理器(或者直接双击桌面图标"计算机"),打开窗口. 随便打开一个路径,我们可以看到效果 2.点击菜单栏 - 查看 - 选项 3.打开选项 - 查看,找到"在标题栏中显示完整路径",并在前面打勾 好了,任务完

Windows系统中打开CMD并定位到指定文件夹

  Windows系统中打开CMD并定位到指定文件夹 手动添加注册表项 打开注册表编辑regedit,且定位至HKEY_CLASSES_ROOTDirectoryshell 在shell下新建一个项(目录),命名为OpenCmd 在OpenCmd下新建一个项(目录),名为command 给command下面那个ab图标的,REG_SZ类型的值,设置为 cmd.exe /k pushd %L 直接导入注册表文件 上述步骤,也可通过导入注册表的方式来实现统一功能. 把下面的内容: Windows R

打开带有视频文件夹慢或文件夹无响应解决办法

  故障解析:出现这个现象通常可能会有2个原因: A.系统在安装了某些杀毒软件之后出现.部分杀毒软件的实时监控功能,当访问存在体积很大的压缩包或ISO文件的目录时,会自动解压这些文件进行扫描,对于一些配置较差的主机来说,就会导致速度缓慢.建议自行设置杀毒软件,关闭这一特性. B.未安装杀毒软件也会出现.XP有一项特性,是自动提取多媒体文件信息并进行为预览.,XP将自动扫描并读取这些文件的信息,并显示其缩略图或视频的第一个画面.如果你的某个文件夹下有大量或者体积很大或压缩率很高的视频文件(尤其是D

用C语言实现统计一个文件夹中各种文件的比例

原文:用C语言实现统计一个文件夹中各种文件的比例 <UNIX环境高级编程>中的程序清单4-7就介绍了如何实现递归地统计某个目录下面的文件!我刚开始看过它的代码后,觉得照着敲太没意思了,所以就合上书自己写了一遍!为此还写了一篇博文,这是博文地址:在linux下用C语言实现递归查看某个目录中的所有文件[CSDN]! 今天做<Unix环境高级编程>的课后题,看到题目4.11这里提供了一种新的实现这个程序的思路,那就是每回读到一个目录,就通过chdir函数进入到这个目录,然后再通过open

Append打开指定文件夹中的数据文件就象这些文件在当前文件夹中一样_DOS/BAT

允许程序打开指定文件夹中的数据文件就象这些文件在当前文件夹中一样.如果在没有参数的情况下使用,则 append 命令显示附加的目录列表. 语法 append [;] [[Drive:]Path[;...]][/x:{on|off}][/path:{on|off}] [/e] 参数 取消附加文件夹列表. [Drive:}Path 指定要附加到当前文件夹的驱动器和文件夹.如果未指定驱动器,将默认使用当前驱动器.可以指定 [Drive:]Path 的多个项,各项之间要用分号隔开. /x:{on | o

win7打开文件夹不是文件内容而是搜索界面怎么回事

  win7打开文件夹不是文件内容而是搜索界面怎么回事           具体方法如下: 1.使用快捷键"win+r",打开运行窗口,并输入"regedit"命令,然后回车; 2.在"注册表编辑器"中,依次展开:"HKEY_CLASSES_ROOT"."Directory"."shell"."find"; 3.最后在find项上右击选择"删除",

想做一个vc程序,后台监控指定文件夹中是否存在数据库文件,如果有则将文件内容上传到服务器数据库中。

问题描述 想做一个vc程序,后台监控指定文件夹中是否存在数据库文件,如果有则将文件内容上传到服务器数据库中. 有说可以写服务来后台监控的,但是我不太明白原理,服务是怎么实现后台监控, vc倒是可以直接生成一个服务,但是不清楚原理,完全不知道应该从哪下手. 希望有高手给解答一下. 解决方案 参考:http://blog.sina.com.cn/s/blog_a6fb6cc901017us1.html

git 服务器-服务器上的一个木子目录下的.git文件夹里面的文件被删光了,怎么恢复

问题描述 服务器上的一个木子目录下的.git文件夹里面的文件被删光了,怎么恢复 服务器上的一个木子目录下的.git文件夹里面的文件被删光了,怎么恢复? 接手别人的代码,要改需求 解决方案 工具:easyrecovery 解决方案二: 首先不要再读写文件,用反删除软件试试,不行就找专业数据恢复公司