如何在 Windows 资源管理器中捕获用户的左键单击?
How do I capture a user's left-click in Windows Explorer?
根据我所读到的内容,当用户右键单击Windows资源管理器中的文件时,会调用shell扩展。有没有办法在用户左键单击文件时捕获事件或运行 shell 扩展?
我需要跟踪用户在选择文件时选择的文件。这可能吗?
感谢您的帮助。
首先,使用 WinApi 检查哪个窗口具有焦点。它是一个资源管理器窗口吗?通过检查其属性来确保它是您要查找的窗口类型。如果是,请检查用户何时使用 GetAsyncKeystate 按下鼠标左键,这会注意到所有输入。
当您获得鼠标左键时,单击其时间以检查用户是否单击了文件表示形式。循环遍历 Windows GUI 项,直到找到具有键盘焦点的项目。使用程序 Spy++ 获取文件列表的容器/帧的 ID。现在检查焦点/选定项是否在此框架内,最重要的是:如果它是列表项。获取项目的名称/标题属性,您就完成了!
我希望您意识到,由于此过程的长度,我不能也不会为您提供执行此操作的完整代码......告诉我你有什么不明白的。
相关文章:
- QTreeView幻灯片多选后无法使用单击选择
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- QML TableView 使用 QtQuick.Controls 2 单击行
- ImGui 在单击按钮后冻结
- 有没有办法区分Qt小部件是通过鼠标单击还是通过按表键获得焦点?
- 我想使用此代码单击某个特定窗口,但它无法正常工作
- 在 Win32 应用中,如果未选择文件夹并且用户单击"确定",则文件夹选择对话框将关闭
- 在单击QT中单击图像时,尝试立即显示用户编辑操作的结果
- 无论如何,是否可以确定MFC应用程序是通过PC重新启动或用户单击应用程序快捷方式开始的
- 当用户单击QT中的QlineEdit时,如何更改Qlineed的文本
- 是否可以报告用户在 Android 应用程序中单击了哪些按钮
- 如何在 Windows 资源管理器中捕获用户的左键单击?
- 当用户按 Ctrl 并单击时获取鼠标坐标
- 单击按钮时,将当前位置/订单保存在QTabWidget中 - 用户设置
- 如何告知用户单击了文件名选择对话框中的取消
- 如何在用户单击wxWidget事件时打开Web链接
- 外壳扩展DLL-如果用户在文件夹空白区域内单击,如何捕获文件夹路径
- 鼠标按下QComboBox的插槽-如果用户单击组合框,则动态填充项目
- MFC PropertyGrid将不会在用户单击时展开(已禁用)
- 如何确定当用户单击""Cancel""时 FindText 对话框已关闭