任意のキーを押している間、マウスの左クリックを連打させる方法

クリックを連打するのも面倒なので自動化させましょう。

連打のONとOFFを簡単に切り替えられるよう、任煮のキーを押している間だけ連打させるようにします。

スクリプトの中身で難しいことはしていません。

任意のキーが押されているか監視し、押されている間はクリックを連打させるだけです。

使い勝手が良くなるよう、任意のキーを変更させるのもいいでしょう。

 

任意のキーを押している間、マウスの左クリックを連打させるサンプル

Shiftキーでマウスの左クリックを連打します。

ESCキーで終了するようにしました。

PRINT "ESCキーで終了します"
WHILE !GETKEYSTATE(VK_ESC)
 WHILE GETKEYSTATE(VK_SHIFT) // Shiftキーで連打開始
  BTN(LEFT, CLICK)
  SLEEP(0.1) // 連打する間隔を指定(秒)
 WEND
 SLEEP(0.1)
WEND

 

他に使われそうな仮想キーコード

VK_ALT
VK_CTRL
VK_RCTRL

INIファイルを利用して設定を読み込む方法

INIファイルを利用して設定を読み込むにはREADINI関数を利用します。

WRITEINI関数を利用しINIファイルに書き込み、そのINIファイルを読み込むためにREADINI関数を利用します。

デフォルトではスクリプトと同名のINIファイルが対象となります。

 

INIファイルを利用して設定を読み込むサンプル

INIファイルを利用して実行回数を記録しています。

INIファイルが存在しているかチェックし、存在していなければ初回実行とみなしています。

fileName = REPLACE(GET_UWSC_NAME, ".uws", ".ini") // 実行中のスクリプトのファイル名を取得し、拡張子を書き換える
flag = FOPEN(fileName, F_EXISTS) // ファイルの存在チェックモード
IFB flag
 n = READINI("設定", "実行回数") // 実行回数を読み込む
 n = n + 1
 PRINT n + "回目の実行です"
 WRITEINI("設定", "実行回数", n) // 実行回数を書き込む
ELSE
 PRINT "ファイルが存在しません"
 WRITEINI("設定", "実行回数", 1) // 初回ということで1を書き込む
ENDIF

INIファイルを利用して設定を読み込む方法実行結果

 

READINI関数リファレンス

READINI関数のリファレンスをマニュアルから転載します。

戻値 = READINI( セクション, キー, [INIファイル名] )
引数
 セクション: セクション名
 キー: キー名
 INIファイル名: デフォルト(省略時)では、カレントディレクトリに スクリプト名.INI
戻値
 取得した値

 

WRITEINI関数リファレンス

WRITEINI関数のリファレンスをマニュアルから転載します。

WRITEINI( セクション, キー, 値, [INIファイル名] )
引数
 セクション: セクション名
 キー: キー名
 値: 書き込む値
 INIファイル名: デフォルト(省略時)では、カレントディレクトリに スクリプト名.INI

INIファイルを利用して設定を保存する方法

INIファイルを利用して設定を保存するにはWRITEINI関数を利用します。

設定をINIファイルに書き込み、次回起動時に読み込めば設定を引き継げて便利です。

このWRITEINI関数とREADINI関数を利用することでINIファイルを読み書きすることができます。

デフォルトではスクリプトと同名のINIファイルが生成されます。

 

INIファイルを利用して設定を保存するサンプル

WRITEINI("実験", "数値サンプル", RANDOM(10))
WRITEINI("実験", "文字列サンプル", "abcdefg")
WRITEINI("実験", "数値サンプル2", RANDOM(1000))

このような内容が書き込まれました。

INIファイルを利用して設定を保存する方法実行結果

 

WRITEINI関数リファレンス

WRITEINI関数のリファレンスをマニュアルから転載します。

WRITEINI( セクション, キー, 値, [INIファイル名] )
引数
 セクション: セクション名
 キー: キー名
 値: 書き込む値
 INIファイル名: デフォルト(省略時)では、カレントディレクトリに スクリプト名.INI

実行中のスクリプト名を取得する方法

実行中のスクリプト名はGET_UWSC_NAMEという特殊変数に格納されています。

この変数を読み込むことで実行中のスクリプト名を取得できます。

.uwsという拡張子まで含まれたファイル名を取得します。

 

実行中のスクリプト名を取得するサンプル

PRINT GET_UWSC_NAME

 

実行中のスクリプト名から拡張子を除いたものを取得するサンプル

str = REPLACE(GET_UWSC_NAME, ".uws", "")
PRINT str

実行中のスクリプト名を取得する方法実行結果

 

REPLACE関数リファレンス

REPLACE関数のリファレンスをマニュアルから転載します。

戻値 = REPLACE( 文字列, 置換したい文字, 置換文字 )
 もしくは
戻値 = CHGMOJ( 文字列, 置換したい文字, 置換文字 )
引数
 文字列: 置換したい文字列を含んだ文字列
 置換したい文字: 置換したい文字列
 置換文字: 置換文字列
戻値
 置換された文字列
 (大文字,小文字の区別はしません)

 

指定した文字列に挟まれた文字列を取得する方法

指定した文字列に挟まれた文字列を取得するにはBETWEENSTR関数を利用します。

指定した文字列は前と後を別々に指定できるので[]に挟まれた文字列を取り出すといった用途に使えます。

該当する箇所が複数存在した場合、デフォルトでは最初の文字列が戻り値になります。

何番目に一致した文字列か指定することも可能です。

後ろから数えて何番目かといった指定も可能です。

 

指定した文字列に挟まれた文字列を取得するサンプルその1

before = "int a[10];"
after = BETWEENSTR(before, "[", "]")
PRINT after

指定した文字列に挟まれた文字列を取得する方法実行結果

 

 

指定した文字列に挟まれた文字列を取得するサンプルその2

該当する文字列が複数ある場合です。

今回は後ろから何番目の文字列か指定しました。

before = "(UWSC)(サンプル)(&)(画像認識)(テクニック)"
after = BETWEENSTR(before, "(", ")", -2)
PRINT after

指定した文字列に挟まれた文字列を取得する方法2実行結果

 

BETWEENSTR関数リファレンス

BETWEENSTR関数のリファレンスをマニュアルから転載します。

戻値 = BETWEENSTR( 文字列, 前文字, 後文字, [n個目, 数え方フラグ] )
引数
 文字列: 探す元になる文字列
 前文字: 得たい文字列の前にある文字列 (省略した場合は先頭から)
 後文字: 得たい文字列の後にある文字列 (省略した場合は最後まで)
 n個目: nを指定するとn個目の該当文字列を返す(マイナス値で指定すると後ろからサーチ)
 数え方フラグ:
   FALSE: n個目は後文字以降でカウント (デフォルト)
   TRUE: n個目は前文字以降でカウント 
戻値
 前文字と後文字に挟まれている文字列 (取得できなかった場合はEMPTYを返す)