1

我使用 VS2010 和 ATL 编写了一个 Windows Explorer shell 扩展,在 HKLM\Directory\Background\shellex\ContextMenuHandlers 下注册,以便在上下文菜单下添加我的命令。

一切都按预期工作,但我想添加一个上下文菜单条目,当且仅当用户右键单击桌面时才会显示该条目,例如 Windows 7 默认设置为“小工具、个性化等”。

我试过这个,但不起作用(不匹配):

if (GetForegroundWindow () == GetDesktopWindow ()) {
   // code here
}

关于如何做到这一点的任何问题?

我也尝试过将 SHGetFolderPath() 与 CSIDL_DESKTOPDIRECTORY 一起使用并执行 _tcsicmp(),这可行,但即使在我不想要的普通 Windows 资源管理器窗口中打开桌面目录也会显示。

4

1 回答 1

1

在下面注册HKCR\DesktopBackground\shellex\ContextMenuHandlers

于 2012-12-14T12:52:06.297 回答