Syou Book Rings

概要

頻繁に使用する標準関数をラップしたオブジェクトや、マウス位置の取得・操作を行うオブジェクトを含むライブラリを配布しています。

本スクリプトはMITライセンスで利用できます。

DOWNLOAD

主な機能

  • コンソールモードで再起動
  • 多数のラッパ関数
  • マウス位置取得・操作関数

更新履歴

2014/10/12 ver.1.0
公開開始

ファイル一覧

  • template.wsf
  • util.js
  • Mouse.dll

util.jsについて

util.jsには、WSHでよく使う関数を呼び出しやすくラップしたライブラリや、自動的にコマンドプロンプト(cscript.exe)で起動し直す機能などが含まれています。これはMITライセンスで利用できます。

Mouse.dllについて

WSHおよび関連するオブジェクトには、マウスの位置を取得・移動する関数がありません。本ライブラリでは、これをMouse.dllを実行することで間接的に実現しています。dll作成の際、下記サイトを参考にしました。

コマンドラインからマウスを操作する方法 (rundll32.exeで動くDLLの作成法) - 主に言語とシステム開発に関して

WSH JScriptを使いこなそう ~マウス操作~

Mouse.dllのソースコードであるMouse.cは、下のリンクからダウンロードできます。dllの使用に抵抗がある方は、ご自身でコードを改変・コンパイルしてご利用ください。

DOWNLOAD

DOWNLOAD (TXT)

簡易リファレンス

sysオブジェクト

PropertyDescription
fsScripting.FileSystemObjectオブジェクト
shellWScript.Shellオブジェクト
shortWaitデフォルトの待機時間(短)
longWaitデフォルトの待機時間(長)
defWaitMessageデフォルトのwait()のメッセージ
defClearWidthデフォルトのclearLine()の文字数
defFosucFailedMessageデフォルトのフォーカス失敗時の文字列・関数
MethodDescription
print(text)WScript.StdOut.Write()をラップ
println(text)WScript.StdOut.WriteLine()をラップ
readLine([message])引数を省略しなければmessageを出力し、WScript.StdIn.ReadLine()をラップ
wait([mirisec,] [message])引数を省略しなければmessageを出力し、WScript.Sleep()をラップ(mirisecが負か省略で、Enterまで待機)
popup(...)shell.Popup()をラップ
run(...)shell.Run()をラップ
exit()WScript.Quit()をラップ
clearLine([width])半角でwidth文字分空白を出力し、改行前の出力を消去
cowntdown([[h,] m,] s)残りの待機時間をカウントダウンで表示する
restart()再起動する
focus(title[, mode] [,message] [,mirisec])shell.AppActivate()をラップし、成功時はmirisec待機して処理を返す(失敗時はmodeが0ならmessageを表示して一時停止、modeが1なら返り値を返すのみで続行、modeが2ならmessageをエラーとして投げる)

keysオブジェクト

MethodDescription
send(keys[, mirisec])shell.SendKeys()をラップし、mirisec待機
sendTo(keys[, mirisec], title[, mode][, message][, mirisec2])sys.focus()を呼び出し、成功すればそのウィンドウにキーを送る
enter([mirisec])Enterキーを送り、mirisec待機

mouseオブジェクト

PropertyDescription
BTN_LEFTマウスの左ボタン(-1)
BTN_RIGHTマウスの右ボタン(1)
BTN_MIDDLEマウスの中央ボタン(0)
BTN_LR_REVERSEマウスの左右ボタンを入れ替えるかどうか
defBtn引数省略時のボタン(-1)
MethodDescription
setXY(x,y)マウス位置を設定
setX(x)マウス位置を設定
setY(y)マウス位置を設定
setXYIn(x,y,title[, mode] [,message] [,mirisec])sys.focus()を呼び出し、成功すればそのウィンドウ内でマウス位置を設定
moveXY(x,y)マウス位置を相対移動
moveX(x)マウス位置を相対移動
moveY(y)マウス位置を相対移動
getXY()マウス位置を取得
getXYIn(title[, mode] [,message] [,mirisec])sys.focus()を呼び出し、成功すればそのウィンドウ内でのマウス位置を取得
click([btn])クリックする
dbclick([btn])ダブルクリックする
down([btn])ドラッグ開始
up([btn])ドラッグ終了