プリントスクリーンを無効化

久しぶりのWindows Tips。
秘文とか導入するわけですよ、日立ソフトの。それ使ってコピーできない、移動できない、印刷できない、プリントスクリーンできないと、できないずくしのバリバリガチガチにセキュリティ固めてるわけですが……。あまりもガチガチなためになんとかならんのかねー、ということで模索してたわけですよ。コピー&移動はフォルダ権限の方で何とかなる、印刷はワークフローのソフトでなんとかなる、となるとあとはプリントスクリーンを機能停止に出来れば秘文使わなくてOKになるというわけで、プリントスクリーン機能を無効にする方法は無いものかねと、今日は模索しておりました。GPOレジストリだろー、と気楽に考えていたんですけど、検索してもなかなか見つからない。で、ひとつの方法としてスキャンコードのリマッピングにたどり着きました。

プリントスクリーン機能を無効化

  1. [Administrator権限]でログイン
  2. [ファイル名を指定して実行]より[regedit]と入力しエディタを起動
  3. [\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
    Control\Keyboard Layout]へ移動
  4. 新規にて[バイナリ値]を[Scancode Map]として作成
  5. [バイナリデータ]を以下のように入力

    00 00 00 00 00 00 00 00
    02 00 00 00 00 00 37 E0
    00 00 00 00

  6. 再起動後にプリントスクリーン機能が無効化される

[02 00 00 00]でエントリ数を表す。この場合キーコード変更を行う[00 00 37 E0]とterminateである[00 00 00 00]で、2つとなる。んで、[37 E0](正確には反対の[E0 37])がプリントスクリーンのキーにあたるので、それを[00 00]と何の役割も果たさないキーに変えてしまうのがこの手法。応用しだいで様々なキーを無効化できる上に、[00 00]の部分を別のキーコードに置き換えることでキーの役割を変更することも出来る。

■キーコード一覧 by http://www.jsdlab.co.jp/~kei/tips/swap.html

キー キーコード 入力する値
ESC 00 01 10 00
TAB 00 0F 0F 00
CapsLock 00 3A 3A 00
左Shift 00 2A 2A 00
右Shift 00 36 36 00
左Alt 00 38 38 00
右Alt E0 38 38 E0
左Ctrl 00 1D 1D 00
右Ctrl E0 1D 1D E0
PrintScreen E0 37 37 E0
E0 48 48 E0
E0 50 50 E0
E0 4D 4D E0
E0 4B 4B E0
Insert E0 52 52 E0
Delete E0 53 53 E0
Home E0 47 47 E0
End E0 4F 4F E0
Page Up E0 49 49 E0
Page Down E0 51 51 E0
左Win key E0 5B 5B E0
右Win key E0 5C 5C E0
application E0 5D 5D E0
PAUSE 00 45 45 00
ScrollLock 00 46 46 00

注意したいのは、[Alt]、[Ctrl]、[Delete]は変更しない方が良いということ。下手するとログインできなくなる可能性があるので注意。また今回に限ったことではないけど、レジストリいじりは慎重にね。


……んで、ここまでやってようやく[PrintScreen]キーを無効に出来たんだけど、ひとつ不思議なことが。確かにプリントスクリーンはできない……、でも[Alt]+[PrintScreen]でアクティブウィンドウがプリントスクリーンできちゃんだなこれが。意味ねぇよ。どうやら[SysRq]キーとしては生きているみたいだ。色々調べてみると、キーボードデバイスドライバカーネル部が絡んでる可能性が……。


結局私の努力むなしく秘文がインストールされることになりましたとさ。HAHAHA……。