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


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
0726
hedamdシステムビープ音を鳴らさない方法3解決


hedamd

リンク

2006/7/26(Wed) 21:22:45|NO.1579

こんにちは

入力ボックスについての質問なのですが
例えばエクスプローラのアドレスバーで[C:\Windows\]などと入力します
その後決定ならばエンターを押しますね。(移動ってのもあるけど)
どんなアプリケーションでも大抵はエンターを押すと確定されます。
そのようなアプリケーションを組んでいたのですが、以下のスクリプトだと
エンターを押したときに「ポン」というシステムビープ音というのでしょうか・・・。

(user32.dllのMessageBeep関数で引数$0[0x00]の音)

↓うまくいえないので一応書いておきます。

#uselib "user32.dll" #func MessageBeep "MessageBeep" int button "鳴らす",*pop stop *pop MessageBeep $0 stop

が、なってしまいます。また、ESCを押すと終了するようにもしてあるのですが
そのときにも音がなってしまいます。どのようにしたら音が出なくなるのでしょうか?

下手な質問ですが、ご回答よろしくおねがいします。


#uselib "user32.dll" #cfunc GetWindowLong "GetWindowLongA" int, int #func SetWindowLong "SetWindowLongA" int, int, int gsel 0,-1 ; 親ウィンドウ非表示 onkey gosub *gkey ; キーが入力されたときのとび先 sdim words,256 ; 入力ボックスのメモリ確保 sdim passw,256 ; ↓ screen 2,320,120,6 ; ウィンドウ初期化 SetWindowLong hwnd, -16, GetWindowLong (hwnd, -16) - $20000 ; GetWindowLongで形状変更 title "キー入力" ; ウィンドウキャプション設定 font msgothic ; フォント設定 syscolor 15 : boxf : syscolor 8 ; 背景をシステム色で塗りつぶし ; 以降オブジェクト等配置 pos 20,20 mes "ユーザー名(日本語可)" pos 40,36 input words,200,20 id = stat pos 20,64 mes "パスワード" pos 40,80 input passw,200,20 psw = stat sendmsg objinfo(psw, 2), $cc, '*' ; パスワード入力[*] gsel 2,1 ; 画面表示 stop *gkey objsel -1 ; カーソルがないときは無視 if wparam = 13 { if stat = id { objsel psw } if stat = psw { end } } if wparam = 27 { end } return



この記事に返信する


Kpan

リンク

2006/7/26(Wed) 23:11:18|NO.1585

参考になるか全く分かりませんが、HSP HELP CENTERさんの掲示板より。。。
http://smile.poosan.net/perl-bin/hsp/ver3/hsp3.cgi?print+200511/05110017.txt



hedamd

リンク

2006/7/27(Thu) 16:22:13|NO.1591

Kpan さん、参考URLありがとうございます。
そして、返信ありがとうございました!
解決いたしました。

〜(*^Д^*)〜



hedamd

リンク

2006/7/27(Thu) 16:22:40|NO.1592

すみません。解決にチェック入れますね。



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