根据我的阅读,当用户在 Windows 资源管理器中右键单击文件时会调用 shell 扩展。当用户左键单击文件时,有没有办法捕获事件或运行 shell 扩展?
我需要跟踪用户在选择文件时选择的文件。那可能吗?
谢谢你的帮助。
首先,使用 WinApi 检查哪个窗口有焦点。是资源管理器窗口吗?通过检查其属性,确保它是您要查找的窗口类型。如果是,请检查用户何时使用 GetAsyncKeystate 按下鼠标左键,它会注意到所有输入。
当您单击鼠标左键时,将检查用户是否单击了文件表示。循环遍历 windows GUI 项目,直到找到具有键盘焦点的项目。使用程序 Spy++ 获取文件列表的容器/框架的 id。现在检查焦点/选定项是否在此框架内,最重要的是:它是否是列表项。获取项目的名称/标题属性,您就完成了!
我希望你意识到,由于这个过程的长度,我不能也不会给你完整的代码来做到这一点......如果有什么你不明白的,请告诉我。