读书人

由文件夹窗口句柄获取其全路径有关问题

发布时间: 2013-01-26 13:47:02 作者: rapoo

由文件夹窗口句柄获取其全路径问题
如题,首先我提供了一个全路径,比如说F:\,我现在使用EnumWindows枚举当前所有窗口,能获取到当前打开的窗口句柄,我的需求是,由当前获取到的句柄去获得其全路径,最后与我提供的路径进行比较,若当前打开的是我提供的路径或者其子目录,则关闭它,也有可能是其目录或者子目录中的文件,一并关闭。
请问,我该如何由这个句柄去获取其全路径呢?
[解决办法]
如果这个思路可行的话,那么那些没有对应文件的窗口,底层如何处理?
所有应该不行,找word,execl之类的文档处理程序的窗口貌似是可以的,要通过ole去处理
[解决办法]
再用FindWindowEx查找地址栏,得到地址栏句柄,再得到地址栏数据
[解决办法]
方法:

step 1) 获得窗口对应的应用App
step 2) App下调用GetCurrentPath().(函数名称可能不对,自己查查吧)
[解决办法]
你是说得到对应的应用app,然后调用获取当前path这个意思把。。。
[解决办法]

引用:
再用FindWindowEx查找地址栏,得到地址栏句柄,再得到地址栏数据


就是这样
[解决办法]
使用Explorer的shell接口。
[解决办法]
获得窗口所在进程
然后查看进程的启动命令行
这个命令行的第一条语句就是全路径
[解决办法]
引用:
比如说我当前打开了很多的文件夹窗口,进程只会有一个explorer.exe
由这个进程获取到的路径也只是explorer.exe这个应用程序所在的路径,而不是我想要知道的我打开的文件夹的路径。
再比如说,我打开了一个txt,其对应的应用程序是notepad.exe,获取其路径也是这个exe所在路径而不是txt所在的路径。
获取命令行的第二个参数

读书人网 >VC/MFC

热点推荐