Flash技術記事 PrintScreenを無効にする裏技
Flashで画面コピーをさせない方法−非アクティブ時でもPrintScreen機能を無効にする方法
Flashで非アクティブでも画面コピー(PrintScreen機能)を無効にするには
Flashは、セキュリティ上の理由から、あまりシステムに関わる
ことはできないようになっています。
そのため、非アクティブのときにPrintScreenキーを無効にする動作ができません。
しかし、クリップボードにはアクセスすることが可能であるため、
「短いタイマーでクリップボードを空っぽにする」という方法で、
「クリップボードに画面のコピーを置く」というPrintScreenの機能に対し、
PrintScreenを事実上使えなくする方法があります。
(画面コピーしても一瞬で消去されてしまうため、事実上使えない仕組み)
PrintScreenされたくないときに、このタイマーを有効にしておくといいかもしれません。
これにより、「コピーできないグラフィック」や図が手軽に実現することができます。
(Flash MX Professional 2004,FreeMotionで動作確認)
ActionScriptの例1
ステージのフレーム1のスクリプト
// タイマーID var idClearCB = 0; var ret=null; trace("開始"); // 最初にクリア ( 一応入れておく) System.setClipboard("first"); /////////////////////////// // クリップボードのクリア関数 // function clearCB () { // if ( ret == null) { // 空白をセットする System.setClipboard(" "); // 動作確認用にトレースウィンドウに出力 ※ 動いているのが確認できた場合はコメントアウトすること trace("クリップボードクリア"); } } // タイマーで呼び出す _root.idClearCB = setInterval( clearCB , 200);
停止するときは、
clearInterval(_root.idClearCB);