トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     プリントスクリーン防止方法
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yuuyuu
Åê¹ÆNo.22138
投稿日時: 2005-12-13 20:45
常連
居住地: 茨城県
投稿: 118
使用環境:
Win2000,XP
Flash MX2004
プリントスクリーン防止方法
こんにちは。

掲載画像の保護の観点から、表題にあるようにプリントスクリーンが効かないようにしたいのですが、うまくいきません。
(OSへのアクセスがよくないといわれているのは承知していますが、要望があるので・・・)

で、私の考えでは、

onClipEvent (keyDown) {
System.setClipboard(" ");
}


とやれば、クリップボードをクリアできると思ったのですが、PrintScreenキーのキーダウンが受け付けないようなのです。
見かけたキーコード表では「44」となっていますが、
Key.getCode();
でも、何も出力されませんでした。

PrintScreenキーを認識させるにはどのようにしたらよいでしょうか?

(上記scriptでは、そもそもPrintScreenキーのキーダウンが受け付けてないのでキーの特定部分のscriptは省いています。)
KURAGE
Åê¹ÆNo.22148
投稿日時: 2005-12-14 9:26
常連
居住地: 東京都
投稿: 199
使用環境:
Flash 4?8/Lite 1?2
2000/XP
OSX 10.3
qurage.net
AS2HTML
Re: プリントスクリーン防止方法
こんにちは

Key.isDown()を用いて常に監視する事で認識可能です。

function clearSnap()
{
	if(Key.isDown(44)){
		System.setClipboard("no snap");
	}	
}
setInterval(clearSnap, 33);


問題点は
・swfにフォーカスが当たっていないとキーの認識が出来ない
・タイミングによってはキーの認識が出来ない
・PrintScreenキー以外でのスクリーンショットの取得は可能

なのでいっその事、
撮られたくない画面では常に System.setClipboard(" "); を呼び出すようにしておくと良いかと思います
Fla4man
Åê¹ÆNo.22151
投稿日時: 2005-12-14 11:50
職人
居住地: かまくら
投稿: 517
使用環境:
WinMe,Win2000,
Flash4,アズさん,大仏、delphi
Re: プリントスクリーン防止方法
どの道ディスプレイドライバが直接キャプチャーするものもあり
そういうものはクリップボードを使わないので
完全なことはできないんじゃないかと思います。
あとこの路線の場合フォーカスがはずれたら画像を消すなどの工夫も必要で
結果としてコンテンツが複雑になります

自分の納得が目的でなくてユーザーの希望と言うことであれば
穴がある以上この路線の追求は無意味です。

TVみたいに著作権表示を画面につけるとか
インターレスみたいに一瞬では全部映さないとか
そういう手法の方が最終的に説得性があり
その辺を説明してそれでもそれがだめだと言われたら
ユーザーに「物理的に無理」というほうがよいと思います。

あと基本的にFlashではなくてメディアプレーヤーなど使う方向で
著作権保護にするのも手だとおもいます。

端っこに著作権表示を載せるのが妥当じゃないかと私は思うんですが


----------------
通常のハンドル名:×○○× ねた回収モードに突入 現在1/100

ひろゆき
Åê¹ÆNo.22152
投稿日時: 2005-12-14 11:55
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: プリントスクリーン防止方法
Macだと、PrintScreenキーないですし...。


----------------
質問する際は、回答者に具体的な情報を与えてください。

yuuyuu
Åê¹ÆNo.22153
投稿日時: 2005-12-14 13:19
常連
居住地: 茨城県
投稿: 118
使用環境:
Win2000,XP
Flash MX2004
Re: プリントスクリーン防止方法
こんにちは。

皆様、ご回答くださいましてありがとうございます。
検討しまして、下記のような動きできています。

■1.クリップボードについて
KURAGE@ISEさんのおっしゃるように、
onClipEvent(EnterFrame){
 System.setClipboard(" ");
}
にて常にクリアしておくようにしようかと思います。

■2.著作権表示について
 Fla4manさんのおっしゃるように、画面下部にコピーライト表記をします。
 私も、物理的に必ず穴がでることに無理に対応することは無意味と思います。著作権保護ってのは、「やっちゃだめ」と促すもので、「やれない」、ようにすることは無理ですよね。

→3.Mac対応について
 ここが問題で、質問させてください。
 Macでは、[shift]+[コマンド]+[3]キーによる画面キャプチャがありますよね。これを防ぐのにこれらのキーを押したら警告画面に切り替えて、掲載画像がある画面がキャプチャできないようにしようと思います。
 ですが、これまでに回答くださいましたようにフォーカス外れたらやっぱり画面キャプチャ効いてしまいますよね。
 この、「フォーカス外れたら」のところがクリアできれば、この件はお相手も納得するのですが・・・。
 この対応方法ってあるものなのでしょうか?

何が一般的な画面キャプチャか、って論もあるかもしれませんが、一応この件では、下記がクリアできればよいことになってます。

1.Winでの[PrintScreen]キー
2.Macでの[shift]+[コマンド]+[3]キー

1.は上記■1.で解決できたと思います。
2.でフォーカス外れたときの操作時が問題となっています。

申し訳ありませんが、お知恵をお貸しください。
もし、対応方法が無理というのであれば、私も胸を張って「無理!」といいたいと思います。

よろしくお願いいたします。
yuuyuu
Åê¹ÆNo.22242
投稿日時: 2005-12-16 20:08
常連
居住地: 茨城県
投稿: 118
使用環境:
Win2000,XP
Flash MX2004
Re: プリントスクリーン防止方法
こんにちは。

自己レスですが、
「フォーカス外れたら」の部分では、”基本的には”フォーカスはずすには、ウインドウの外にカーソルもって行くだろうってことで、コンテンツエリア全体にヒットエリアをとってマウスアウトで、キー操作で出すお断り画面に切換えることで対応しました。
これでも「穴」はないわけではないですが・・・一応コレで行くことになりました。
ありがとうございました。
ひろゆき
Åê¹ÆNo.22244
投稿日時: 2005-12-16 20:12
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: プリントスクリーン防止方法
引用:
Macでは、[shift]+[コマンド]+[3]キーによる画面キャプチャがありますよね。

[コマンド]+[shift]+[4]キーでも、
画面の部分的スクリーンショットは撮れるんですよ...。
#システム環境設定で、[コマンド]+[shift]+[5]キーに変えることも...。

MacOSX だと、グラブという便利なソフトが標準で用意されてるんですよ...。
#こちらは、フォーカスが外れるから大丈夫かな?

抜け穴は挙げたら、きりがないと思いますが、
参考まで。


----------------
質問する際は、回答者に具体的な情報を与えてください。

yuuyuu
Åê¹ÆNo.22246
投稿日時: 2005-12-16 20:31
常連
居住地: 茨城県
投稿: 118
使用環境:
Win2000,XP
Flash MX2004
Re: プリントスクリーン防止方法
いつもお世話になってます。

そうですね、ここはある程度一般的なレベルで留めないとキリがない(というかムリ)ですよね。

では、だいたいにおいて「コマンドキー」が必要なことな多いので組合せを限定しないで「コマンドキー」をキーに画面を切換えることにしようと思います。
ハナから閲覧者をドロボウ扱いしてるみたいでヤなのですが、そこはお断り画面にて丁重にご理解をいただくことにして・・・・
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops