画面をコピーされないためFormに
If KeyCode = vbKeyPrint Then
msg = MsgBox("コピーは禁止!", 16, "警告")
End If
という記述をしたのですが、PrintScreenを無効にすることが
出来ませんでした。KeyCodeに他のキーを指定すると作動するのですが、
PrintScreenだけはうまくいきません。何か別の方法があるのでしょうか?
さらにAPIを使って
If GetAsyncKeyState(vbKeyPrint) <> 0 Then
Msg = MsgBox("コピーは禁止!", 16, "警告")
End If
等の記述をしてもだめでした。
作っている環境は
Win98・VB6.0SP5です。よろしくお願いします。
システム(?)をフックしないとダメなんじゃなかったっけ?
少し調べてみたところ、VBではシステムをフックするのは難しいという記述を見ました。
具体的にどのようにするかご存じですか?
私は今までフックという言葉が出てくるたびに逃げてきたんで(^^;
まー私の場合、無理にフックする必要も無かったので良かったんですが。
どなたかフォローお願いします。
システムフックはDLLにしないといけません。
なので、VBだけでは無理です。
詳しくはわたしも知らないので、フック関連のサイトを見回ってみてくださいとしかいえませんけど…。
C言語(またはDelphi言語)を、ある程度以上知らないと、難しそうですね。
メインでVBを使うにしろ、DLLはCかDelphiで作らなければいけません。
システムフックに関しては、
とりあえずYahooあたりで「グローバルフック」で
検索してみては?
ただし、ヒットしたページの解説を読んで
自力で理解できないようなら
手を出さないほうが無難です。
チェーンしそこなうと、まるごと固まるし。
みなさんありがとうございます。
調べてみて、手に負えないようならあきらめます(笑)
ツイート | ![]() |