【发布时间】:2012-12-02 11:01:29
【问题描述】:
我已经使用 VS2010 和 ATL 编写了一个 windows explorer shell 扩展,在 HKLM\Directory\Background\shellex\ContextMenuHandlers 下注册,以便在上下文菜单下添加我的命令。
一切都按预期工作,但我想添加一个上下文菜单条目,当且仅当用户右键单击桌面时才会显示该条目,例如 Windows 7 默认的“小工具、个性化等”。
我试过这个,但不起作用(不匹配):
if (GetForegroundWindow () == GetDesktopWindow ()) {
// code here
}
关于如何做到这一点有什么困难吗?
我也尝试过将 SHGetFolderPath() 与 CSIDL_DESKTOPDIRECTORY 一起使用并执行 _tcsicmp(),这可行,但即使在普通的 Windows 资源管理器窗口中打开桌面目录也会显示,这是我不想要的。
【问题讨论】:
标签: c++ winapi shell atl explorer