关于windows shell extension的一些问题!

esprit0318 2006-09-04 08:52:03
目前小弟正在做一个功能跟windows自带的“桌面”(就是右击任务栏-工具栏-桌面)这个功能差不多,但是windows的这个总是从根目录开始,而我现在要做的就是在右击某个目录(包括右击某个盘,快捷方式等)时,在弹出菜单中添加一项,然后取得现在所在的目录,并列出其目录下的所有目录和文件,如果鼠标再移到子目录时,再列出子目录下的所有目录和文件,依次类推。
第一个问题,如果我鼠标右击某个目录,怎么去获取这个目录所在的路径?
第二个问题,第一级目录及文件都被列出来后,当我鼠标在这些目录上移动时,怎么获得鼠标停留的目录的句柄,列出其下面的子目录和文件?
第三个问题,这种Active Dll工程,怎么来测试?
说明一下,小弟不太懂VB,完成这个工具是任务,请各位大侠帮帮忙!
希望能说得清楚些。

PS:网上也有类似功能的软件,如FastFolder,但是好像不公开源码的,否则倒是可以研究研究了。
...全文
1142 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
esprit0318 2006-09-09
  • 打赏
  • 举报
回复
难道分又散不出去了呀?
esprit0318 2006-09-07
  • 打赏
  • 举报
回复
上面InvokeCommand接口调用的问题,是菜单ID指定错误造成。
现在我自己的思路有两个,一个就是在弹出右键菜单时遍历所有的目录及文件,但是出现了上面所说的,可能由于目录结果太深,文件量太大(这只是自己的猜测),右键菜单死掉了(就是点击右键时菜单弹不出来了),具体原因还不知道。
另一个思路就是当鼠标移动到某个目录时,才遍历该目录,且只遍历第一级的子目录及文件,但是这里的问题是怎么才能知道现在移动到哪个目录了,并取得其所在的路径?因为我写的那个遍历的方法里需要传一个目录的路径。还有弹出菜单是调用系统内置的CreatePopupMenu来生成,它返回来一个long型的句柄,怎么可以给弹出菜单绑定mouseover的事件呢?
或许我上面的那两个思路都是错的,如果那样的话,还请哪位高手给出正确的思路。谢谢!
嗷嗷叫的老马 2006-09-06
  • 打赏
  • 举报
回复
WINDOWS SHELL扩展编程,还不会..........

帮顶
esprit0318 2006-09-06
  • 打赏
  • 举报
回复
高手都哪里去了?
说说现在的情况,由于用鼠标事件来遍历某个目录下的子目录及文件,不知道如何取得来取得鼠标停留目录的路径,所以现在的做法是在初始化的时候用递归法来遍历所有的子目录及文件,但是这种方法显示是不好的,而且也出现这样的问题:就是如果一个目录下的目录结果比较深,文件比较多的话,右键菜单就会死掉。
为什么程序没有进到实现InvokeCommand接口的方法里去?看了网上的一些Context Menu例子,好像也没有其他地方去调用,实现InvokeCommand接口的方法应该是自动调用的吧?(哪位大哥告诉我一下啊?)
现在都迷茫了,都不知道要实现这么一个功能,正确的思路是怎样的?
请各位高手明示,小弟先谢过了!


esprit0318 2006-09-05
  • 打赏
  • 举报
回复
顶起来!
各位知道的帮帮忙,实在是急呀!
esprit0318 2006-09-04
  • 打赏
  • 举报
回复
先谢谢楼上两位的关注!
不过楼上给出的两个链接并不是我想要的,第一个是遍历目录的不错,不过需要知道路径,知道了路径才好遍历其底下的子目录及文件,这也是我的问题之一,如何才能取得鼠标所在或者鼠标右击时所在文件的路径,第二个给的链接好像跟这个没多大关系吧,不是用VB来实现,所要实现的接口跟我也不同,不过还是谢谢你。
期待!
迈克揉索芙特 2006-09-04
  • 打赏
  • 举报
回复
http://blog.csdn.net/dotnet_editor/archive/2005/08/16/455812.aspx
迈克揉索芙特 2006-09-04
  • 打赏
  • 举报
回复
http://vbnet.mvps.org/code/fileapi/folderenumbasic.htm
hn123 2006-09-04
  • 打赏
  • 举报
回复
关注。。。

-----------
www.vicmiao.com
努力就有美好时光!

1,486

社区成员

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

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