gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:23:54 25 4
gpt4 key购买 nike

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

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

感谢您的帮助。

最佳答案

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

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

我希望您意识到,由于这个过程的长度,我不能也不会为您提供执行此操作的完整代码...如果有任何您不明白的地方,请告诉我。

关于c++ - 如何捕获用户在 Windows 资源管理器中的左键单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13401933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com