1

VS2010 と ATL を使用して Windows エクスプローラー シェル拡張機能を作成し、HKLM\Directory\Background\shellex\ContextMenuHandlers に登録して、コンテキスト メニューにコマンドを追加しました。

すべてが期待どおりに機能していますが、Windows 7 のデフォルトの「ガジェット、パーソナライズなど」のように、ユーザーがデスクトップを右クリックした場合にのみ表示されるコンテキスト メニュー エントリを追加したいと考えています。

私はこれを試しましたが、動作しません (一致しません):

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

これを行う方法について何か考えはありますか?

また、CSIDL_DESKTOPDIRECTORY で SHGetFolderPath() を使用して _tcsicmp() を実行しようとしましたが、これは機能しますが、デスクトップ ディレクトリが通常の Windows エクスプローラー ウィンドウで開かれている場合でも表示されます。

4

1 に答える 1

1

で登録しますHKCR\DesktopBackground\shellex\ContextMenuHandlers

于 2012-12-14T12:52:06.297 に答える