HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1101
アイルー【緊急】Print Screenの無効化について2未解決


アイルー

リンク

2010/11/1(Mon) 01:52:04|NO.35621

こんばんは。
お世話になっております。

Print Screenキーの無効化について、ご質問させていただきます。
NO.34442
http://hsp.tv/play/pforum.php?mode=all&num=34442
を参考にしながら、Print Screenキーの無効化を行いました。

以下、ほとんどNO.34442と同様のソースではありますが、記載させていただきます。
#include "user32.as"
#include "hspext.as" #define VK_SNAPSHOT 0x2c oncmd gosub *onPrintScreenKey, VK_SNAPSHOT *top screen 0 mes "Print Screen Key を押してみてください。" /* Print Screenキーの無効化 */ *onPrintScreenKey repeat wait 1 GetAsyncKeyState VK_SNAPSHOT if stat{ clipset "Paint Screenキーは使用できないのですが。" } loop return

上記ソースでは、Print Screenキーを押したとき、
クリップボードには「Paint Screenキーは使用できないのですが。」と入ることを確認しています。

上記ソースでは、*top で処理を止めていないのですが、
実際のプログラム中で使用する際、ラベルの一番最後で、「stop」で処理を止めています。
(そうしないと、処理が流れてしまうので)

上記ソースで例にしますと、*top を
*top
screen 0 mes "Print Screen Key を押してみてください。" stop
とします。

そうしますと、Paint Screenキーの無効化が行えず、ハードコピーできてしまいます。

実際のソースでは、やはりstopで処理を止めたりすることが多いため、
どうすれば無効化できるのかがわかりません。

基本的なことが理解できていないのが原因だと思うのですが、
どうかご助言の程、よろしくお願いいたします。



この記事に返信する


check

リンク

2010/11/1(Mon) 03:36:43|NO.35623

stopで処理をとめるから悪いんじゃね。
gosubで毎ループごとに飛ぶか、oncmdでキーが押されたときに判定するか、
ウィンドウタイマーを使って○○秒おきにgosubで飛ぶか、
どれでもお好きなのをどうぞ。



通りすがり

リンク

2010/11/1(Mon) 05:07:52|NO.35624

こんな感じで。

#include "hspext.as" #include "user32.as" #define WM_KEYUP $00000101 #define VK_SNAPSHOT $0000002C oncmd *key, WM_KEYUP stop *key if wparam = VK_SNAPSHOT { clipset "Paint Screenキーは使用できないのですが。" } stop



ONION software Copyright 1997-2023(c) All rights reserved.