
UWSCを勉強中で初心者です。
タイトルの件についてご教授下さい。
下記のようなプログラムを作っています。
そこで問題にあたりまして苦戦しております。
条件分岐でF6,F7,F8キーのどれかを押すと表示するプログラムです。
//1.uws 2.uws
WHILE TRUE
FUKIDASI("F6,F7,F8のいずれかを押して下さい",100,100,0,40)
IFB GETKEYSTATE(VK_F6)
//F6キーを長押ししている
PRINT "F6キーを長押ししています"
BREAK
//F7キーが長押ししている
ELSEIF GETKEYSTATE(VK_F7)
PRINT "F7キーを長押ししています"
BREAK
ELSEIF GETKEYSTATE(VK_F8)
PRINT "F8キーを長押ししています"
BREAK
ENDIF
WEND
上記プログラムですが、
CALL 1.uws
CALL 2.uws
にして2回同じ処理を行います。キーを長押ししていると切れることなく終了します。
行いたいのは「キーを長押しして1.uwsで終了し、キーを押し上げたのち2.uwsのプログラムを走らせる。」です。
タイマーではなく”キー押し上げ”で次のプログラムを走らせる関数を探しましたが見つかりませんでした。windowsの方でキーリピート無効にしましたが効果なしでした。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
CtrlとかShiftキー、CapsLockキーなどならともかく、その他のキーは押している間キーがリピート入力されて、トラブル起こす可能性があります。
例えば、Chromeを使ってるならF1キーはヘルプだし、F3は検索、F6はアドレスバーへ移動とか。
F3キーを押したまま、URLを入力操作なんか出来ないです。
キーボードのデバイスドライバも、UWSCのGETKEYSTATE関数も、そういう操作は想定してないと思うので、何がどうなるか分かりません。
UWSCのデバッガ使ってるなら、F7はステップイン、F8はステップオーバーに割り当てられてるし。
> ”キー押し上げ”で次のプログラムを走らせる
なら、ShiftキーやCtrlキーを使っては。
これらのキーはリピートとか、押下によって何かの処理が行われたりってのは基本的に無いはずです。
> 上記プログラムですが、
//1.uws 2.uws
> CALL 1.uws
> CALL 2.uws
2.uwsの中から2.uwsを呼び出すと、処理が終わらないですよ。
同じ事するプログラム2つ作るのもムダだし。
--
//1.uws
key()
key()
exitexit
Procedure key()
FUKIDASI("Shift,Ctrl,Altのいずれかを押して下さい 3",100,100,0,40)
sleep(1)
FUKIDASI("Shift,Ctrl,Altのいずれかを押して下さい 2",100,100,0,40)
sleep(1)
FUKIDASI("Shift,Ctrl,Altのいずれかを押して下さい 1",100,100,0,40)
sleep(1)
Fukidasi()
WHILE TRUE
Dim strText
strText=""
IF GETKEYSTATE(VK_SHIFT)
strText = strText + "SHIFTキー押下, "
endif
IF GETKEYSTATE(VK_CTRL)
strText = strText + "Ctrlキー押下, "
endif
IF GETKEYSTATE(VK_ALT)
strText = strText + "Altキー押下, "
ENDIF
if strText="" then
Exit
else
Fukidasi(strText)
endif
sleep(1)
WEND
Fend
キーは何でも良かったので適当にファンクションキーを選んでいましたが、予期せぬ動作を起こさないため長押し前提のキーのほうが良いのですね。
こんな方法があるとは大変勉強になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
UWSC 非アクティブウィンドウへのキー入力
その他(ソフトウェア)
-
UWSCの終了の仕方
その他(プログラミング・Web制作)
-
UWSCのスクリプトで行き詰っています。。
その他(プログラミング・Web制作)
-
-
4
変数内に入った文字列の結合 UWSC
その他(プログラミング・Web制作)
-
5
UWSCに制限時間を付けたいです
その他(プログラミング・Web制作)
-
6
一定時間で自動でキーを入力するソフト
フリーソフト
-
7
UWSCで変数をキー入力
その他(プログラミング・Web制作)
-
8
UWSC「画像が無い場合」
その他(プログラミング・Web制作)
-
9
MoEでUWSC操作をバックグラウンド実行出来ない
オンラインゲーム
-
10
UWSCでMOUSEORG関数が上手く処理できません
その他(プログラミング・Web制作)
-
11
uwscの使い方について。ifの前提条件
その他(プログラミング・Web制作)
-
12
至急 キーボードの操作を自動化するソフト uwsc 今、uwsc を自宅のpcで使ったのですが記録ボ
マウス・キーボード
-
13
UWLSの記録でマクロを作成し使用していますが起動中に他の作業ができません。バックグラウンドで使うこ
その他(プログラミング・Web制作)
-
14
uwscでPauseキーが押されたら、このブロックを抜けたい(uwscを停止したい)のですが、どうす
その他(プログラミング・Web制作)
-
15
UWSC 画像判定と条件分岐について
その他(プログラミング・Web制作)
-
16
画面ロック中にプログラム実行できないでしょうか
Windows Vista・XP
-
17
UWSCでテキストファイルを開いて表示したい
その他(プログラミング・Web制作)
-
18
UWSC画像認識で座標の位置がずれてしまいます。
その他(プログラミング・Web制作)
-
19
UWSCの待機コマンドについて
その他(ソフトウェア)
-
20
UWSC
フリーソフト
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CMについて
-
google chrome から yuotube.co...
-
プラス(足す)キーはどうやっ...
-
メールアドレスの作成の際上バ...
-
PDF-XChange Viewer 全画面表示...
-
プーリーのキーが外れない
-
PgDn、PgUpの設定が急に変わっ...
-
キー局5社について
-
Windows11でアップデートしたら...
-
サイト画面等で、一瞬に一番下...
-
(word) 文字列の上に線を引く方法
-
「か」を数字で表すとどうなり...
-
AutoCAD上でのalt-ime-ahkソフト
-
「(アクサングラーブ)キー」と...
-
パソコンの青い線枠が消えませ...
-
Excelでカーソルの移動が...
-
exp(13.4)を関数電卓で計算する...
-
エクセルで複数行に散らばった...
-
VSCodeで上書きモードにならない
-
Shiftキーのはめ方を教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プラス(足す)キーはどうやっ...
-
「か」を数字で表すとどうなり...
-
メールアドレスの作成の際上バ...
-
exp(13.4)を関数電卓で計算する...
-
「(アクサングラーブ)キー」と...
-
サイト画面等で、一瞬に一番下...
-
Scroll Lockが勝手に有効になる...
-
エクセルで複数行に散らばった...
-
Shiftキーのはめ方を教えてくだ...
-
プーリーのキーが外れない
-
PgDn、PgUpの設定が急に変わっ...
-
Windows11でアップデートしたら...
-
キーボードがCtrlキーが押され...
-
PDF-XChange Viewer 全画面表示...
-
キーボードの上部にあるランプ...
-
(word) 文字列の上に線を引く方法
-
IMEパッドがショートカットキー...
-
AutoCAD上でのalt-ime-ahkソフト
-
パソコンの青い線枠が消えませ...
-
MacのExcelでoptionキーを押し...
おすすめ情報