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);