日本の情報発信基地

UWSC FAQ

 
UWSC

UWSC

スポンサーリンク


HPが復活しないので、もしもの時の為のバックパップです。

 

 

コンテンツ(CONTENT)

Windows 7/8.x/10 64bit環境での動作について  #N1

  64bitアプリに対しても動作しますが以下の制限があります。
64bitの DLLを呼び出す事はできません
POSACC関数の ACC_API(APIトラップ) 指定は 64bitアプリに対しは無効です

 

 

ソフトをダウンロードしたが実行できない(どうすれば良いのか分からない)  #N2

  ソフトは圧縮(ZIP形式)されています、OSによっては解凍ソフトでの解凍処理が必要です。
以下を参照してみてください
http://www.vector.co.jp/for_users/download_help.html
http://www.vector.co.jp/for_users/guide/download/down_02.html

EXEを実行しようとしても ハング状態になり 実行できない場合は
セキュリティソフトを一時的にオフにして確認してみてください。(特に アバスト 注意)

 

 

ヘルプが見れない  #N3

  OSの解凍機能で解凍するとヘルプが見れない場合があります。(外部解凍ツールを推奨します)
エクスプローラから uwsc.chm を右クリックしてプロバティを表示、セキュリティの「ブロックの解除」ボタンを押してください
また、ネットワーク越しには参照する事はできません
また、フォルダーのパスに # が含まれていると参照する事はできません

 

 

記録したスクリプトをループして実行するにはどうするのか  #N4

  ’ファイルを開く’ ダイアログに実行回数の指定があります。
また、スクリプトを加工する事により細かな制御ができます
記録したスクリプトファイルをメモ帳などで開いて先頭行に
While True
最終行に
Wend
を入れるとこの間のスクリプトが永遠に実行されます。停止はホットキーでしてください
回数を限定する場合は For ~ Next を使います
この辺はBASIC言語をちょっとだけ勉強してください。応用範囲が非常に広がるでしょう

 

 

記録ボタンが灰色状態であり、押す事ができない  #N5

  記録には RecUws.dll が必要です。
ダウンロードした物の中に含まれていますので、必ず UWSC.exe と同じフォルダにあるようにしてください
またエクスプローラの一時解凍機能ではダメですので、完全解凍するか 別に解凍ソフトを使用して解凍してください

 

 

CLKITEM関数で押せないボタンがある  #N6

  スピードボタンや画像を貼付けてボタンに見せ掛けている物等はダメです。
ブラウザやOffeceアプリ等は COMもしくはアクセシビリティインターフェースを利用してください
(サンプルページを参照)

 

 

CLKITEM関数でアプリのメニュ選択ができない  #N7

  高レベル記録にて記録を確認してみてください。
または、ショートカットキーの実行関数(SCKEY)で代用してください

 

 

再生時に ウィンドウが出るのをスクリプトが待ち切れずに実行されて おかしな事になる  #N8

  スクリプト内のGETID関数に第3引数(待ち時間指定)を付けてください。
GETID(“xxxx”, “xxxx”, -1)  // -1:画面が出るまで待つ

 

 

KBD、SCKEY関数で使いたいキーの仮想キー名が分からない  #N9

  簡単に調べる方法は記録状態(低レベル記録)にして、知りたいキーを押し生成されるスクリプトを見る事です。

 

 

CTRL + ALT + DELETE のキー操作を再現したい  #N10

  このキーコンビネーションを実行する事は出来ません。

 

 

ネットゲームにて動かない  #N11

DirectXのアプリにてマウス操作ができない

  対応していません。

 

 

音声認識を使うには  #N12

  SAPI 5.x を利用します。
音声認識は コントロールパネル → 音声認識にて
日本語エンジン(’Microsoft Japanese …’等)を選び
‘プロファイルのトレーニング’ を実行しておいてください

 

 

Javaアプリの操作をするには  #N13

  JREは 32ビット版を使用してください。
各関数にて ACC指定をする事により操作可能になります
サンプル) http://www.uwsc.info/sample.html#N39

 

 

スタンバイからの復帰時に画面が表示されない、またスクリーンセーバー画面から元の画面に戻すには  #N14

  POFF(P_MONIPOWER3)
にて画面を復帰できます。

 

 

CLKITEM関数のCLK_ACC指定にてダイアログを出すと閉じるまで制御が戻らない  #N15

  CLK_LEFTCLK を付加してください。
CLKITEM(id, “xxx”, CLK_ACC or CLK_LEFTCLK)

 

 

スクリプトを実行すると重く(CPU使用率が100%に)なる  #N16

  SLEEP関数を適当に入れてください。

 

 

KBD, BTN関数をバックグランドのアプリで実行したい  #N17

  MOUSEORG関数を使用して第2引数に MORG_DIRECT を指定してください。
なお、第1引数には 直接オブジェクトのウィンドウを指定する必要があります
// メモ帳にabc
id = GETID(“メモ帳”)
MOUSEORG(GETCTLHND(id,”edit”), MORG_DIRECT)
KBD(VK_A); KBD(VK_B); KBD(VK_C)

 

 

MDI形式のウィンドウ(ExcelやAccess等)が正しく記録・再生できない  #N18

  低レベル記録では MDI形式の子ウィンドウの位置情報までは記録していません
ので子ウィンドウの位置が変ると正しく再生できません。
ExcelやAccessの場合にはCOMでの操作を検討してください

スクリプトをメモ帳で作成すると拡張子がTXTになり実行できない  #N19

  保存ダイアログにて ‘ファイルの種類’ を “すべてのファイル” に変更して保存してください。
またエクスプローラの設定にて TXT拡張子が表示されない場合があります
エクスプローラの ‘ツール’ → ‘フォルダ オプション’ → ‘表示’ の詳細設定の中の
“登録されている拡張子は表示しない” のチェックを外してください

 

 

スケジュール設定にて休止状態から復帰させた場合に、5分後にまた休止状態になってします  #N20

  以下を起動するスクリプトの先頭に入れてください。
// アイドルタイマによるスタンバイを禁止
DEF_DLL SetThreadExecutionState(DWORD): DWORD: kernel32
SetThreadExecutionState($80000003)

 

 

数値を COPY、POS、CHGMOJ、GETSTR関数等で取得して 数値演算したいのだが文字演算になる  #N21

  文字操作関連の関数は戻り値として文字列を返す為です。
VAL関数を使い数値にする必要があります
a = 100
x = Copy(a, 1, 3)
print x + 100     // 100100 文字演算
print VAL(x) + 100  // 200 数値演算

 

 

Excelのセルに COMを使い読み書きしていると COM_errorが出る事がある  #N22

  入力、編集モードになっているとダメです、コマンドモードにしてください。
Pro版の場合、Excel用関数(XLSETDATA, XLGETDATA)を使えば自動で回避できます

 

IEの “ファイルのダウンロード” にて “保存” ボタンが反応しない  #N23

  また、IEにてファイルのダウンロード処理(http://www.uwsc.info/sample.html#N58)を参照してください
// IE9 以上の場合
id = GETID(“Internet Explorer”, “IEFrame”)
ClkItem(id, “xxxxxxxx”, CLK_BTN)   // ダウンロード
sleep(1)                  // 間が必要
ClkItem(id, “保存”, CLK_BTN)

// 直接ダウンロード
// ダウンロードするURL、ファイル名が確定しているのであれば URLDownloadToFileを使えば直接ダウンロードできます。
DEF_DLL URLDownloadToFileA(Long, String, String, Long, Long) :Long :URLmon
URLDownloadToFileA(0, (URL)”http://www.aaa.bbb.com/xxx.csv”, (保存場所)”C:\aaa\xxx.csv”, 0, 0)

 

 

EXEC関数にてスペースを含んだパス、ファイルを実行する事が出来ない  #N24

  スペースを含む場合は”ダブルコーテーション”で括る必要があります。
(文字列の中ではダブルコーテーションの特殊文字 <#DBL> を使う)
EXEC(“<#DBL>C:\Program Files\UWSC\uwsc.exe<#DBL> <#DBL>C:\Program Files\UWSC\abc.uws<#DBL>”)

 

 

IEの操作(COM)にて、ダイアログが出ると動作が停止する  #N25

  ダイアログを出す前にスレッドを起動し、スレッドでダイアログを閉じる処理をしてください。
Thread PopupWin()
IESetData(IE, True, “dlgbtn”) // ダイアログ起動
// ダイアログボタンクリック
Procedure PopupWin()
id = Getid(, “#32770”, -1)
Sleep(1)
Clkitem(id, “OK”)
Fend

 

 

正規表現を利用したい  #N26

  VBScript.RegExpオブジェクトを利用してください。
regex = CREATEOLEOBJ(“VBScript.RegExp”)
str = “aa11bb11cc”
regex.Global = True
regex.Pattern = “11”
print regex.Replace(str, “X”) // 置換

 

 

ファイルのコピー、移動等はどうすれば良いのか  #N27

  DOSCMD関数で処理するか、Scripting.FileSystemObject を利用してください。
// DOSCMD関数にて
DOSCMD(“copy c:\xxx.txt <#DBL>c:\a b\xxx.txt<#DBL>”) // パスにスペースがある場合は<#DBL>が必要
// Scripting.FileSystemObject にて
objFSO = CREATEOLEOBJ(“Scripting.FileSystemObject”)
objFSO.CopyFile(“c:\xxx.txt”, “c:\temp\xxx.txt”)   // コピー
objFSO.MoveFile(“c:\xxx.txt”, “c:\temp\”)      // 移動

 

 

記録ができない  #N28

  全てのアプリにてダメな場合は、常駐ソフト類を外して確認してください。
一部アプリやオブジェクトはダメなものがあります。
OSが Vista以上の場合は実行レベル(UAC)を合わせてください

 

 

アプリの操作ができない、記録ができない(Vista/7/8.x/10)  #N29

  実行レベル(UAC)を合わせてください。
アプリが管理者権限で実行されている場合には、UWSCも管理者権限が必要です
UWSCを起動する時に、右クリック ”管理者として実行…”より起動する
もしくはプロパティの”互換性”タブより”特権レベル”にチェックを入れてください
逆にアプリが一般ユーザの場合には、UWSCも管理者権限ではなく一般ユーザにしてみてください

 

 

IEの操作が正しく働かない、IE上での動作を記録しようとしても記録ができない(Vista/7/8.x/10)  #N30

  IEの保護モードを解除する必要があります。
インターネットオプション → セキュリティの “保護モードを有効にする” を解除してください
イントラネットを使用の場合には インターネット、イントラネットゾーンの両ゾーンとも解除してみてください
また COM操作にて一部機能がダメな場合は、IEの互換表示をオンにしてみてください

 

 

UWSC.INI、UWSC.LOGの場所がわからない  #N31

  XPでは C:\Documents and Settings\ユーザ名\Application Data\UWSC
Vista以降では C:\Users\ユーザ名\AppData\Roaming\UWSC
なお、\Application Data\ / \AppData\ フォルダは非表示フォルダーです

 

 

CHKIMG, PEEKCOLOR関数が遅い(Vista/7/8.x/10)  #N32

  Vista / Windows7 の場合
デスクトップコンポジション(エアロ)の機能をオフにする必要があります。
DwmEnableComposition APIを利用 (http://www.uwsc.info/sample.html#N13)
もしくは
UWSC.exeのプロパティから “互換性” → “デスクトップ コンポジションを無効にする” にチェック

Windows8.x/10 の場合には デスクトップコンポジションをオフにする事はできません。
MOUSEORG関数にてウィンドウを指定して 画面取得指定に MORG_BACKを指定すると、多少は早くなります

 

 

タスクトレイ上のアプリを終了させるには  #N33

  For i=0 to GetAllWin()-1; Print Status(ALL_WIN_ID[i], ST_TITLE); Next
を実行してそれらしいタイトルを見つけてください
で、CtrlWin(GETID(“xxタイトル”), Close)

 

 

別のUWSファイル内の関数を利用(インクルード)するにはどうするのか  #N34

  CALL文を利用します。  CALL xxxx.uws
xxxx.uws にはメインルーチンは必要ありません

 

 

Qt製(クロスプラットフォームのフレームワーク)のウィンドウ(クラス名:QWidget)の操作ができない  #N35

  Qt製でアクセシビリティをオフで作成されたものは、オブジェクトの認識ができません。
低レベル関数で処理してください

 

 

チェックボックス付きリストビューのチェックボックスが設定できない  #N36

  flag = True    // On(True) / Off(False)
// CLK_ACC + CLK_LEFTCLK にて
CLKITEM(id, “abcd”, CLK_ACC or CLK_LEFTCLK, flag)
これでダメな場合は
// PEEKCOLORで確認してスペースキーで処理する
CLKITEM(id, “abcd”, CLK_ACC or CLK_MUSMOVE, False)
if (PEEKCOLOR(G_MOUSE_X-103, G_MOUSE_Y)=0) <> flag then SCKEY(id, VK_SPACE)

 

 

IEの操作(DOM)にて、フレーム内の操作ができない  #N37

  フレームが別ドメインまたはプロトコルが違う場合には、セキュリティの為に DOMでの操作はできません。
しかし、UWSCのIE操作関連の関数であればアクセスができます。(Ver5.1.0以上)

 

 

UWSC本体を起動しようとすると「UWSC実行中:」とメッセージが出て起動できない  #N38

  UWSC本体を多重に起動する事はできません。(ファイルの関連付等からスクリプトの多重実行はできます)
もしも スクリプトを正しく終了できないような場合は
タスクマネージャを起動して「プロセス」タブより “UWSC.exe”を選択して「プロセスの終了」ボタンにて UWSC.exe を終了させてください

 

 

複数の同じタイトル・クラスのウィンドウを区別したい  #N39

  IEであれば GETACTIVEOLEOBJ関数にて順番指定にて区別できます。
IE以外であれば、GETALLWIN関数を利用して探してください
id1 = getidEx(“メモ帳”, “Notepad”, 1) // 1つ目
id2 = getidEx(“メモ帳”, “Notepad”, 2) // 2つ目
// title:タイトル、 class:クラス、 num:順番
Function getidEx(title, class, num)
Result = -1
cnt = 0
for i = 0 to GETALLWIN()-1
ifb Status(ALL_WIN_ID[i], ST_CLASS) = class
ifb Pos(title, Status(ALL_WIN_ID[i], ST_TITLE))
cnt = cnt + 1
ifb cnt = num
Result = ALL_WIN_ID[i] Exit
endif
endif
endif
next
Fend

 

 

高レベル記録をしたが同じ項目が複数ある時に 1番目の項目のみが選択される  #N40

(種別はCLK_ACCで順番が記録されない)

  種別としてCLK_ACCにて取得した場合には順番確認はしていません。
(アクセシビリティ用インターフェース経由では負荷が高い為)
この場合は、手動でスクリプトを直し順番を付加してください

 

 

Windows8.x/10 にて インストール時に “Windowsによって PCが保護されました” と出る  #N41

  「詳細情報」 というリンクをクリックし、「実行」 ボタンをクリックしてください。

 

 

アプリの起動にて UAC(ユーザーアカウント制御)警告を回避したい  #N42

  UWSCを先に管理者権限で起動しておくと UAC警告は出ません。
(UWSC起動時に右クリックから”管理者として実行…”、 またはプロパティの”互換性”タブより”特権レベル”にチェック)

 

 

ショートカットの起動や 関連付けされたファイルの起動をしたい  #N43

  DOSCMD関数を利用して
doscmd(“C:\Users\Public\Desktop\アプリ.lnk”, True)
アプリが64bitのショートカットの場合は explorer経由にて起動
path = “C:\Users\Public\Desktop\64bitアプリ.lnk”
exec(“explorer “+path)

 

リモートデスクトップにて 最小化や接続を切った場合に動作しない  #N44

  マウス、キーボード、画面に依存する関数は動作しません。(BTN, KBD, CHKIMG等)
依存しない関数であれば動作します。(CLKITEM, SENDSTR等)
SENDSTR関数の場合は必ず番号指定を付けてください。
BTN, KBD関数でも 直接指定(MOUSEORG関数にてMORG_DIRECT)であれば動作します
CHKIMG関数は バックグランド指定(MOUSEORG関数にてMORG_BACK)であれば最小化時はOKですが、接続を切った場合はNG

さもなくば VNC等の別のリモート操作ソフトを利用してください。

 

 

IE11にて画面更新後に操作(COM)ができない  #N45

  IE11 では一度アクティブ状態にする必要があります。
ので画面更新の後に IEに対して WM_ACTIVATE を送り操作可能にします。
DEF_DLL SendMessageA(Hwnd, Long, Long, Dword): bool: user32
CONST WM_ACTIVATE = $06
Procedure BusyWait(ie)   // 更新待ち処理
repeat
Sleep(0.2)
until (! ie.busy) and (ie.readyState=4)
SendMessageA(ie.Hwnd, WM_ACTIVATE, 0, 0) // 更新直後に WM_ACTIVATEを送る事によりバックグランドでも操作可となる
Fend

 

 

IE終了後にまた CREATEOLEOBJ関数にて IEを起動するとエラー(“システムのシャットダウンは既にスケジュールされています”)が出る  #N46

  通常起動の場合にはエラーが出ませんので、以下のようにすると避ける事ができます。
try
IE = CREATEOLEOBJ(“InternetExplorer.Application”)
except
EXEC(“C:\Program Files\Internet Explorer\iexplore.exe”)
IE = GETACTIVEOLEOBJ(“InternetExplorer.Application”)
endTry

 

 

スクリプトを関数の後に書くと実行されない  #N47

  仕様です、関数はメインルーチンの後に書いてください。
(メインルーチンは関数前までであり、関数後にメインルーチンを書いても実行されない)

 

 

Excelの使用にて定数がわからない、定数名を使用したい  #N48

   Excelの定数名を記述したファイル(ExcelConst.uws) をダウンロードして
スクリプトの先頭で CALL ExcelConst.uws を入れるとExcelの定数名が使用できます

 

 

CHKIMG関数が環境により認識しない  #N49

  画面のスケーリングが 100%以外の場合(ディスプレイの設定にて「項目のサイズを変更する」)にて
画像の解像度が変わる為、画面スケーリングが合っていないと認識できません。
ですので、この場合は画面のスケーリングをあわせてください。
また、色幅(第8引数)を指定する事により、多少の色の揺らぎは吸収できます。

 

 

タッチ操作を実行したい  #N50

  BTN関数にて TOUCHを指定します。
// タップ
BTN(TOUCH, CLICK, 400, 400)
// 長押し
BTN(TOUCH, DOWN, 400, 400)
BTN(TOUCH, UP, 400, 400, 2000)  // 2秒
// スワイプ
BTN(TOUCH, DOWN, G_SCREEN_W, 400)  // チャームを出す
BTN(TOUCH, UP, G_SCREEN_W-100, 400)
// ズーム
BTN(TOUCH, DOWN, 400, 400)
BTN(TOUCH, DOWN, 400, 450)
BTN(TOUCH, UP, 400, 600)
BTN(TOUCH, UP, 400, 250)

 

 

小数点以下の演算で誤差が出る事がある  #N51

  IEEE 浮動小数点演算による仕様です。 (詳しくは「演算誤差」等で検索してください)
対策が必要な場合は ROUND関数等を利用してください。

 

http://www.uwsc.info/faq.html

関連記事.

 

スポンサーリンク

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright© ヒカルの情報ブログ , 2018 All Rights Reserved.