メモ帳(notepad)等のソフトで右クリック時に表示されるポップアップメニューをカスタマイズするにはどのようにすればよろしいのでしょうか?
そもそも可能なのかどうか分かりません。
具体的には、通常の場合、
----------------
元に戻す
----------------
切り取り
コピー
貼り付け
削除
----------------
・・・・・
----------------
のように表示されますが、例えばこれを、
----------------
元に戻す
----------------
切り取り
コピー
選択範囲を半角変換してコピー(この行を追加)
選択範囲を全角変換してコピー(この行を追加)
貼り付け
削除
----------------
・・・・・
----------------
のようにポップアップメニューに独自のメニューを作成することが目的です。
また、メモ帳だけでなく、例えばマイコンピュータのアドレスバーやその他文字列を扱うオブジェクト(?)に対して追加したいのです。
可能か不可能なのかすら分かりませんが、もし情報等ありましたら情報提供をお願い致します。
よろしくお願い致します。
InternetExproerならばポップアップメニューを変更するのは簡単ですが、メモ帳やエクスプローラとなるとかなり厄介です。
恐らくWM_CONTEXTMENUあたりのメッセージをとらえて、
動的にポップアップメニューを作成するのだと思うのですが、
他のアプリケーションに割り込んでメッセージを拾うプログラムを書く必要があります。
やり方としては「システムフック(別名:グローバルフック)」という方法を使います。
・フック
・DLL作成
・ファイルマッピングオブジェクトの作成
という3つのプログラム技術を同時に使いますので、かなり複雑です。
メニューの動的変更については、
CreatePopupMenu()、AppendMenu()、RemoveMenu()、DeleteMenu()、InsertMenuItem()あたりのAPIのサンプルを探してください。
システムフックについては、「Advanced Windows:ジェフリー リッチャー(著)」を読むのが定番です。
ネットで検索してもいろいろサンプルは見つかります。
ツイート | ![]() |