Вставьте элемент в меню рабочего стола правой кнопкой мыши из расширения оболочки

Я написал расширение оболочки Windows Explorer, используя VS2010 и ATL, зарегистрированное в HKLM \ Directory \ Background \ shellex \ ContextMenuHandlers, чтобы добавить мои команды в контекстное меню.

Все работает, как и ожидалось, но я хочу добавить пункт контекстного меню, который отображается, если и только если пользователь щелкнул правой кнопкой мыши на рабочем столе, например, в Windows 7 по умолчанию «гаджеты, персонализация и т. Д.».

Я пробовал это, но не работает (не совпадает):

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

Есть какие-нибудь сложности с тем, как это можно сделать?

Я также попытался использовать SHGetFolderPath () с CSIDL_DESKTOPDIRECTORY и сделать _tcsicmp (), это работает, но действительно появляется, даже если каталог рабочего стола открывается в обычном окне проводника Windows, что мне не нужно.

1

Решение

Зарегистрируйте это под HKCR\DesktopBackground\shellex\ContextMenuHandlers

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]