我正在尝试检查Windows资源pipe理器视图,以查看当键入时当前正在重命名/编辑文件名称。
我有一个系统挂钩安装,监视键盘的特定击键和触发某些事件。 这是以这种方式完成的:
我已经尝试了Windows 7上的所有内容,但SVSI_EDIT标志(0x00000002具体)永远不会返回。 无论文件是否被重命名,它总是(SVSI_FOCUSED | SVSI_SELECT)。 设置与IFolderView :: SelectItem标志的SVSI_EDIT标志把它放到重命名模式,但我想确定它是否已经在这种模式。
这只在Windows 7 x64上testing过。
有没有人知道一种方式来确定资源pipe理器/ IFolderView等目前在重命名文件状态? 如果通过这些接口不可能,任何偷偷摸摸的方法都行。
如果一个文件处于重命名模式,Windows将在该项目的位置创建一个EDIT控件。 所以事情变得很直接:
在CodeProject上,有一个关于如何找到重点控制的很好的例子。 要获取该控件的CLASS名称,请使用GetClassName API。