トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

UWSCメモ

一部の情報は非常に古いもの(20年以上前〜)ですので、利用する際はご注意ください(Java 1.4 とか .NET 1.0 とか、Windows 2000 とか)
お問い合せは wiki@shise.net まで。Gmail に転送されるので、スパムは全部カットされます。


 

UWSCって?

Windows の操作を自動化するツールです。自分で動作を表記、記録し、それを再生する形になります。
また、単純な操作だけでなく、画面に表示されている画像を取得して判定し、処理を行うことが出来ます。
がんばればゲームを自動操作させたりできます。

UWSC の作者のホームページは以下のURLになります。
http://www.h7.dion.ne.jp/~umiumi/

文字列をタイプする関数

渡された文字列を、指定された間隔でタイプする関数です。

TypeText("hello", 100)

2〜100ミリ秒の間隔で渡された文字列をタイプします。
これは、以下のコードと等価です。

speed = 100
KBD(VK_H,CLICK,RANDOM(speed)+2)
KBD(VK_E,CLICK,RANDOM(speed)+2)
KBD(VK_L,CLICK,RANDOM(speed)+2)
KBD(VK_L,CLICK,RANDOM(speed)+2)
KBD(VK_O,CLICK,RANDOM(speed)+2)

また、特殊な記号を用いてエンター、シフトキーを入力することが出来ます。

TypeText("$1#", 100)

これは、以下のコードと等価です。

speed = 100
KBD(VK_SHIFT,DOWN,RANDOM(speed)+2)
KBD(VK_1,CLICK,RANDOM(speed)+2)
KBD(VK_SHIFT,UP,RANDOM(speed)+2)
KBD(VK_RETURN,CLICK,RANDOM(speed)+2)

$は、次の文字はシフトキーを押しながら入力されるという意味になります。
#は、エンターキーを押すという意味になります。
もし$や#をタイプしたい場合、$であれば「$4」、#であれば「$3」で入力できます。
「$4」は、シフトキーを押しながら「4」のキーを押すので、結果的に「$」がタイプされます。

 コード

Function TypeText(mozi, speed)
	len = LENGTH(mozi)
	aaa = ASC("a") - ASC("A")
	flag = 0

	FOR i = 1 TO len
		t = COPY(mozi, i, 1)
		code = ASC(t)

		IFB ASC("A") <= code AND code <= ASC("Z") THEN
			flag = 1
		ENDIF
		
		IFB ASC("a") <= code AND code <= ASC("z") THEN
			code = code - aaa
		ENDIF

		SELECT code
			CASE ASC("/")
				code = VK_OEM_2
			CASE ASC("'")
				flag = 1
				code = VK_7
			CASE ASC(" ")
				code = VK_SPACE
			CASE ASC(".")
				code = VK_OEM_PERIOD
			CASE ASC(",")
				code = VK_OEM_COMMA
			CASE ASC("-")
				code = VK_OEM_MINUS
			CASE ASC("#")
				code = VK_RETURN
			CASE ASC("_")
				flag = 1
				code = VK_OEM_5
			CASE ASC("$")
				flag = 1
				Continue
		SELEND

		IFB flag = 1 THEN
			KBD(VK_SHIFT,DOWN,speed)
		ENDIF
		KBD(code,CLICK, RANDOM(speed)+2)
		IFB flag = 1 THEN
			KBD(VK_SHIFT,UP,speed)
		ENDIF
		
		flag = 0
	NEXT
	Result = 0
Fend