如何在Windows资源管理器中捕获用户的左键单击?

时间:2012-11-15 16:29:18

标签: c++ winapi com

根据我的阅读,当用户在Windows资源管理器中右键单击文件时,将调用shell扩展。当用户左键单击文件时,有没有办法捕获事件或运行shell扩展?

我需要跟踪用户选择的文件。这可能吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

首先,使用WinApi检查哪个窗口具有焦点。它是一个探险家窗口吗?通过检查其属性,确保它是您要查找的窗口类型。如果是,请检查用户何时使用GetAsyncKeystate按下鼠标左键,注意所有输入。

当您通过鼠标左键单击其时间来检查用户是否单击了文件表示。循环通过Windows GUI项目,直到找到具有键盘焦点的项目。使用Spy ++程序获取文件列表的容器/框架的id。现在检查焦点/选定项目是否在此框架内,最重要的是:如果是列表项。获取项目的名称/标题属性,您就完成了!

我希望你意识到,由于这个过程的长度,我不能给你完整的代码来做这个...告诉我你是否有任何你不明白的事情。