English


WSH 用 COM コンポーネント
Toas V1.04


WSH でマウスクリックやクリップボード内容の取得・設定を行う

Microsoft Windows Scripting Host (WSH) では (少なくとも 2007 年 3 月の時点では) マウスのクリック・ダブルクリックやクリップボード内容の取得・設定を行う方法が用意されていないようなので、これらの機能を提供する COM コンポーネント「Toas」を作成しました。

Toas には無料版と有料版があります。無料版では最初にメッセージ ボックスが表示され、またメソッドの呼び出し回数が20回に制限されます。回数を超えてメソッドを呼び出すと、DISP_E_UNKNOWNINTERFACE が返されます。有料版にはそのような制限はありません。

使用例

次は WSH (JScript) での使用例です。

	var tos = WScript.CreateObject( "TamaSoft.OA.Server" ); // Toas オブジェクトを作成
	tos.click(); // 現在位置でマウスをクリック
	var txt = tos.getClipboard(); // 現在のクリップボード内容を txt に代入
	WScript.echo( txt ); // それを表示

COM コンポーネント情報

ファイル名 toas.dll
OLE サーバー名 TamaSoft.OA.Server

メソッド一覧

メソッド説明
クリップボード関連
getClipboard() クリップボード内容を取得
戻り値 (文字列)
クリップボードのテキスト内容
setClipboard( txt ) クリップボード内容を設定
txt (文字列)
設定する内容
マウス関連
click( hwnd ) 現在の位置でマウスをクリック
hwnd (整数)
対象ウィンドウのハンドル。省略可。省略時または 0 の場合は現在のマウスカーソル位置のウィンドウが対象
dblClick( hwnd ) 現在の位置でマウスをダブルクリック
hwnd (整数)
対象ウィンドウのハンドル。省略可。省略時または 0 の場合は現在のマウスカーソル位置のウィンドウが対象
setMousePos( x, y ) マウスカーソルを指定のスクリーン座標へ移動
x (整数)
移動先の水平スクリーン座標
y (整数)
移動先の垂直スクリーン座標
moveMouse( x, y ) マウスカーソルを指定ピクセルだけ相対移動
x (整数)
水平移動ピクセル数 (正なら右、負なら左)
y (整数)
垂直移動ピクセル数 (正なら下、負なら上)
getMousePosX() マウスカーソルの水平位置を取得
戻り値 (整数)
スクリーン座標
getMousePosY() マウスカーソルの垂直位置を取得
戻り値 (整数)
スクリーン座標
getMouseCursor() 現在のマウスカーソルのハンドルを取得
戻り値 (整数)
マウスカーソルのハンドル
getSystemCursor( idc ) Windows システム提供のマウスカーソルのハンドルを取得
idc (整数)
カーソルの種類を表す数値。ここには Windows API 関数 LoadCursor() に渡す任意の識別子 (IDC_???) を指定できます。主な値は次のとおりです。
32512標準の矢印 (IDC_ARROW)
32513十字 (IDC_IBEAM)
32514砂時計 (IDC_WAIT)
32650標準の矢印+小さな砂時計 (IDC_APPSTARTING)
32651矢印+疑問符 (IDC_HELP)
このメソッドと getMouseCursor() の返り値を比較して、現在のマウスカーソルの種類をチェックすることで、アプリケーションがビジー状態かどうかを調査できる場合があります。
戻り値 (整数)
マウスカーソルのハンドル
ウィンドウ関連
getForegroundWindow() 現在の最前面ウィンドウを取得 (Windows API 関数の GetForegroundWindow() に相当)
戻り値 (整数)
ウィンドウハンドル
setForegroundWindow( hwnd ) 現在の最前面ウィンドウを設定
hwnd (整数)
ウィンドウハンドル
getActiveWindow() 現在のアクティブウィンドウを取得 (Windows API 関数の GetActiveWindow() に相当)
戻り値 (整数)
ウィンドウハンドル
setActiveWindow( hwnd ) 現在のアクティブウィンドウを設定
hwnd (整数)
ウィンドウハンドル
getWindowPosX( hwnd ) ウィンドウの水平位置を取得
hwnd (整数)
ウィンドウハンドル
戻り値 (整数)
ウィンドウ左上隅の水平スクリーン座標
getWindowPosY( hwnd ) ウィンドウの垂直位置を取得
hwnd (整数)
ウィンドウハンドル
戻り値 (整数)
ウィンドウ左上隅の垂直スクリーン座標
setWindowPos( hwnd, x, y ) ウィンドウの位置を設定
hwnd (整数)
ウィンドウハンドル
x (整数)
ウィンドウ左上隅の水平スクリーン座標
y (整数)
ウィンドウ左上隅の垂直スクリーン座標
getWindowSizeX( hwnd ) ウィンドウの水平サイズを取得
hwnd (整数)
ウィンドウハンドル
戻り値 (整数)
水平サイズ
getWindowSizeY( hwnd ) ウィンドウの垂直サイズを取得
hwnd (整数)
ウィンドウハンドル
戻り値 (整数)
垂直サイズ
setWindowSize( hwnd, x, y ) ウィンドウのサイズを設定
hwnd (整数)
ウィンドウハンドル
x (整数)
水平サイズ
y (整数)
垂直サイズ
getWindowText( hwnd ) ウィンドウのテキストを取得
hwnd (整数)
ウィンドウハンドル
戻り値 (文字列)
ウィンドウのタイトルまたはコントロールのテキスト
windowFromPoint( x, y ) 指定位置にあるウィンドウを取得
x (整数)
水平サイズ
y (整数)
垂直サイズ
戻り値 (整数)
ウィンドウハンドル
topWindowFromPoint( x, y ) 指定位置にあるトップレベルウィンドウを取得
x (整数)
水平サイズ
y (整数)
垂直サイズ
戻り値 (整数)
ウィンドウハンドル
その他
beep() 短いビープを鳴らす
beep( helz, msec ) 指定の周波数で指定時間だけビープを鳴らす
helz (整数)
周波数
msec (整数)
時間 (ミリ秒)
version() Toas のバージョンを取得
戻り値 (文字列)
Toas のバージョン

ダウンロード

右のリンクをクリックしてダウンロードしてください   ⇒   ToasSetup.exe

インストール方法

  1. ダウンロードした ToasSetup.exe を実行します。
  2. デフォルトの C:\Program Files\TamaSoft\Toas 以外のフォルダにインストールした場合は、インストール先フォルダにある Toas-Install.reg をメモ帳などのエディタで開き、3 行目末尾の「C:\Program Files\TamaSoft\Toas\Toas.dll」を「<インストール先フォルダ>\Toas.dll」に書き換えます。
  3. Toas-Install.reg をダブルクリックするか、右クリックして[結合]を選択します。
  4. 「〜内の情報をレジスタストリームに追加しますか」というメッセージ ボックスが表示されたら[はい]をクリックします。「〜の情報が、レジストリに正しく追加されました」と表示されます (Windows XP の場合)。

アンインストール方法

  1. インストール先フォルダにある Toas-Uninstall.reg をダブルクリックするか、右クリックして[結合]を選択します。
  2. 「〜内の情報をレジスタストリームに追加しますか」というメッセージ ボックスが表示されたら[はい]をクリックします。「〜の情報が、レジストリに正しく追加されました」と表示されます (Windows XP の場合)。メッセージは「追加」となっていますが、実際にはこれでレジストリから Toas 関連の情報が削除されています。

ユーザー登録

Toas は無料で利用できますが、その場合は Toas.dll ロード時にメッセージ ボックスが表示され、またメソッドの呼び出し回数が20回に制限されます。

商用で配布する場合、製品に組み込む場合などは、有料の登録が必要です。有料のユーザー登録を行うと、制限が解除されます。

登録方法についてはここをクリックしてください。

改版履歴

V1.0   2007/03/16
初版
V1.01   2007/03/20
topWindowFromPoint() が windowFromPoint() と同じように動作する問題を修正
V1.02   2007/03/20
getMouseCursor() と getSystemCursor() をサポート
V1.03   2007/03/27
英語版を提供
V1.031   2008/03/27
無料版の機能制限を変更
V1.032   2008/07/08
ライセンス ファイルの処理方法を修正
V1.04   2008/09/03
英語版 Windows 環境で中国語テキスト等を getClipboard() と setClipboard() で扱えない問題を修正

開発・提供

多摩ソフトウエア有限会社   info@tamasoft.co.jp

〒120-0034 東京都足立区千住3-6 ツォード千住 壱番館801