4

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

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

谢谢你的帮助。

4

1 回答 1

0

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

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

我希望你意识到,由于这个过程的长度,我不能也不会给你完整的代码来做到这一点......如果有什么你不明白的,请告诉我。

于 2012-11-17T19:04:21.973 回答