ショートカットキーを無効化するには?

解決


晴海  2003-04-08 04:47:15  No: 77613

API関数を使って、「ctrl+C(コピー)」といったショートカットキーを
無効化することって出来るんですか?


魔界の仮面弁士  2003-04-08 07:18:22  No: 77614

Ctrl + Cであれば、対象のウィンドウをサブクラス化して、
WM_COPYメッセージを握りつぶせば良いかと思います。

# ただしこの方法の場合、「Ctrl + C」だけではなく、
# 「Ctrl + Insert」やマウス右クリックメニューからの
# コピーなども、処理されなくなってしまいますけれどね。。。


晴海  2003-04-08 08:13:50  No: 77615

データのコピーによる流出を防ぎたかったので、
魔界の仮面弁士さんのご教授は私の意図に合致しており、
大変参考になりました。
どうもありがとうございます。

自分でも色々と調べてみて概略はおおよそ解ったような気もするんですが、
実際にはどんなコードを書けば良いんでしょうか?


魔界の仮面弁士  2003-04-08 10:31:59  No: 77616

googleにて、『WM_COPY サブクラス』というキーワードで検索してみたところ、
以下のページがヒットしました。「3. サブクラス化を使う」というトピックです。
http://homepage1.nifty.com/rucio/main/technique/ShareEvent.htm

上記ページ中に書かれている、
   Select Case uMsg
    Case WM_PASTE
      '貼り付けが行われたときの処理
   End Select
というコードの部分を
   Select Case uMsg
    Case WM_COPY
       Exit Function
   End Select
のように修正すればOKです。

つまり、WM_COPYメッセージが送られてきても、何もせずに
コールバックプロシージャを終了させてしまうわけですね。


晴海  2003-04-09 06:59:06  No: 77617

魔界の仮面弁士さん、
親切にお答えくださってどうもありがとうございましたm(_ _)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加