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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0411
NoNameAlt8解決


NoName

リンク

2010/4/11(Sun) 00:20:01|NO.31910

HSPでAltを押すと止まってしまうのは仕様ですか、バグですか。



この記事に返信する


u

リンク

2010/4/11(Sun) 01:47:06|NO.31912

?、何のことか分かりません。
何かのスクリプトを実行するとそうなるのですか?
もしそうならそのソースを掲示してください。



ANTARES

リンク

2010/4/11(Sun) 02:24:16|NO.31913

 Windowsの仕様です。
Altキーを押すとメニュー選択モードになり、
プログラムの実行が止まりますが、
メニューがなくても止まるようです。



u

リンク

2010/4/11(Sun) 03:03:56|NO.31915

ああ、止まりました。
先程試した時は確かに止まらなかったのですが・・。
失礼いたしました。



NoName

リンク

2010/4/11(Sun) 14:07:52|NO.31928

Windowsの仕様なら、止めないようにすることはできないのですか?



Chokoko

リンク

2010/4/11(Sun) 22:14:54|NO.31938

多少無理やりではありますが
以下のようにすれば回避できました。
Altが押された瞬間にAltをもう1度押させるといった感じです。


#uselib "user32.dll" #func keybd_event "keybd_event" int,int,int repeat redraw 0 color 255,255,255 : boxf : color pos 0,0 :mes cnt getkey alt,18 if alt=1{;主要部 keybd_event 18,,$2 keybd_event 18 keybd_event 18,,$2 } redraw 1 await 50 loop



R

リンク

2010/4/11(Sun) 22:37:17|NO.31939

ウィンドウメッセージを利用してこんな事も出来ますよ。
下記の方法では「F10」にも対処できます。


;WM_SYSKEYDOWNメッセージ #const WM_SYSKEYDOWN $104 oncmd gosub *syskeydown , WM_SYSKEYDOWN stop *syskeydown ;F10キー(キーコード121) or Altキー(キーコード18) で反応 mes wparam if wparam=121 | wparam=18{ return 1 }else{ return }



u

リンク

2010/4/11(Sun) 22:59:35|NO.31940

win32APIを利用したタイマーならAltの影響を受けませんでした。


#uselib "user32.dll" #func SetTimer "SetTimer" int,int,int,int #func KillTimer "KillTimer" int,int screen 0 SetTimer hwnd,1234,100,0//100ms秒間隔でタイマーをセット(1234は適当な識別子,これにより複数タイマーをセットできる) oncmd gosub *WM_TIMER,0x0113//タイマー割り込み onexit *exit//終了時 stop *WM_TIMER //wparamに反応があったタイマーの識別子が入っている if wparam=1234:gosub *main return //メインループ部分 *main redraw 0 color 255,255,255:boxf:color pos 0,0:mes count redraw 1 count++ return *exit KillTimer hwnd,1234//タイマー破棄 end



NoName

リンク

2010/4/12(Mon) 17:13:13|NO.31949

ありがとうございました。



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