PrintScreenを無効にするには?

解決


killy  2003-04-28 18:17:20  No: 106947

画面をコピーされないためFormに
If KeyCode = vbKeyPrint Then
   msg = MsgBox("コピーは禁止!", 16, "警告")
End If
という記述をしたのですが、PrintScreenを無効にすることが
出来ませんでした。KeyCodeに他のキーを指定すると作動するのですが、
PrintScreenだけはうまくいきません。何か別の方法があるのでしょうか?


killy  2003-05-09 01:02:20  No: 106948

さらにAPIを使って

If GetAsyncKeyState(vbKeyPrint) <> 0 Then
   Msg = MsgBox("コピーは禁止!", 16, "警告")
End If

等の記述をしてもだめでした。
作っている環境は
Win98・VB6.0SP5です。よろしくお願いします。


nanashi  2003-05-09 01:05:03  No: 106949

システム(?)をフックしないとダメなんじゃなかったっけ?


killy  2003-05-09 01:38:19  No: 106950

少し調べてみたところ、VBではシステムをフックするのは難しいという記述を見ました。
具体的にどのようにするかご存じですか?


nanashi  2003-05-09 02:02:51  No: 106951

私は今までフックという言葉が出てくるたびに逃げてきたんで(^^;
まー私の場合、無理にフックする必要も無かったので良かったんですが。

どなたかフォローお願いします。


たかみちえ  URL  2003-05-09 02:53:37  No: 106952

システムフックはDLLにしないといけません。
なので、VBだけでは無理です。
  詳しくはわたしも知らないので、フック関連のサイトを見回ってみてくださいとしかいえませんけど…。
  C言語(またはDelphi言語)を、ある程度以上知らないと、難しそうですね。
メインでVBを使うにしろ、DLLはCかDelphiで作らなければいけません。


Say  2003-05-09 19:43:00  No: 106953

システムフックに関しては、
とりあえずYahooあたりで「グローバルフック」で
検索してみては?

ただし、ヒットしたページの解説を読んで
自力で理解できないようなら
手を出さないほうが無難です。

チェーンしそこなうと、まるごと固まるし。


killy  2003-05-09 22:10:00  No: 106954

みなさんありがとうございます。
調べてみて、手に負えないようならあきらめます(笑)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加