処理に何秒かかったか計算する方法

処理に何秒かかったか計算するにはGETTIME関数を利用し、処理完了時の時刻から処理開始時の時刻を引くことで求めることができます。

秒単位での取得になるので極めて短時間で完了する処理には向いていません。

 

処理に何秒かかったか計算するサンプル

10000回乱数を求め、処理にかかった時間を表示します。

start = GETTIME()
FOR i = 1 TO 10000
 PRINT i + ":" + RANDOM(100)
NEXT
stop = GETTIME()
PRINT stop - start + "秒かかりました"

処理に何秒かかったか計算する方法の結果

 

GETTIME関数リファレンス

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

戻値 = GETTIME( [±n日, 基準日] ) 
引数
 ±n日: nを指定すると当日もしくは基準日からプラスマイナス n日とする、小数点以下は時間(デフォルト=0)
 基準日: 指定された日付を基に日付を設定する (デフォルト=当日)
      ("YYYYMMDD" or "YYYY/MM/DD" or "YYYY-MM-DD" or "YYYYMMDDHHNNSS" or "YYYY/MM/DD HH:NN:SS")
戻値
 2000年1月1日からの秒数を返す

 値がセットされる特殊変数
  G_TIME_YY    // 年
  G_TIME_MM    // 月
  G_TIME_DD    // 日
  G_TIME_HH    // 時
  G_TIME_NN    // 分
  G_TIME_SS    // 秒
  G_TIME_ZZ    // ミリ秒
  G_TIME_WW    // 曜日 (0:日曜....6:土曜)
  G_TIME_YY2   // 年をxxの文字型
  G_TIME_MM2    // 月をxxの文字型
  G_TIME_DD2   // 日をxxの文字型
  G_TIME_HH2   // 時をxxの文字型
  G_TIME_NN2   // 分をxxの文字型
  G_TIME_SS2   // 秒をxxの文字型
  G_TIME_ZZ2   // ミリ秒をxxxの文字型
  G_TIME_YY4   // 年をxxxxの文字型

マウス座標を相対座標で指定する方法

マウス座標を相対座標で指定するためにはMOUSEORG関数を利用します。

デフォルトでは指定したウィンドウの位置を基準に相対座標で指定できるのでレイアウトが固定されたウィンドウでマウス操作を自動化させたい場合に役立ちます。

しかし無理に相対座標を扱う必要もないので本当に必要か一度考えてみてください。

 

マウス座標を相対座標で指定するサンプル

id = EXEC("notepad.exe") // メモ帳を起動させる
MOUSEORG(id) // メモ帳を基準にする
MMV(0, 0) // 相対座標の0,0にマウスカーソルを移動

 

MOUSEORG関数リファレンス

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

MOUSEORG( ID, [基準指定, 画面取得指定 ] )
引数
 ID: Windowを識別するID
 基準指定:
   0 (デフォルト): ウィンドウ位置
   MORG_CLIENT (1): クライアント領域の位置を基準にする
   MORG_DIRECT (2): 指定ウィンドウ(オブジェクト)へマウス、キー情報を直接送る(第1引数はウィンドウIDでもハンドル値でも可)
 画面取得指定: PEEKCOLOR()、CHKIMG()関数にて
   0 (デフォルト): 指定アプリがフォアグランドかバックグランドかにより検索画面の取得方法を変更
   MORG_FORE   : フォアグランドとして可視画面(デスクトップ)を検索画面とする
   MORG_BACK   : バックグランドとしてアプリより画面を取得して検索画面とする(他の画面がオーバーラップしていてもOK)

 ※ 以降のMMV()、BTN()、PEEKCOLOR()、CHKIMG()関数の座標を指定ウィンドウを基準にしたものにする
 ※ 基準指定にて MORG_DIRECTが指定された場合は KBD()、MMV()、BTN()関数の情報は直接ウィンドウ(オブジェクト)へ送る
 ※ スクリーン座標に戻す時はゼロを指定 MOUSEORG(0)
 ※ 有効範囲はスレッド単位

 

UWSC起動時にスクリプトを実行させる方法

UWSCは起動時にスクリプトを指定することで自動的にスクリプトを実行させることができます。

この指定する方法は慣れないと結構面倒なので画像付きで説明します。

 

ショートカットを利用してUWSC起動時にスクリプトを実行させる方法

 

ショートカットを作成する

エクスプローラーを開きUWSCをインストールしてあるフォルダに移動します。

UWSC.exeファイルを右クリックして「ショートカットの作成」を選ぶとショートカットが作成されます。

このショートカットファイルは現状UWSCを起動するだけのものですが、これに手を加えてUWSC起動時にスクリプトを実行するようにします。

UWSC起動時にスクリプトを実行させる方法_1右クリックでショートカット作成

 

ショートカットのプロパティを表示させる

作成したショートカットの上で右クリックし、表示されたメニューから「プロパティ」を選びます。

UWSC起動時にスクリプトを実行させる方法_2プロパティを表示させる

 

リンク先に実行させたいスクリプトを追記する

「ショートカット」のタブの「リンク先」という項目に実行させたいスクリプトを指定します。

すでに””で囲まれた部分がありますが、その後に半角のスペースを入れ、その後に実行させたいスクリプトを指定します。

パスに半角スペースが含まれる場合は””で囲うことが必須になりますが、半角スペースが含まれていなくても””で囲って問題ないです。

UWSCと同じフォルダにスクリプトがあれば絶対パスを書かなくても動作します。

UWSC起動時にスクリプトを実行させる方法_3リンク先を変更する

 

設定完了

以上で設定が完了しました。

ショートカットをダブルクリックして指定したスクリプトが実行できるか確認しましょう。

上手く動作しない場合はセキュリティソフトが影響している可能性もあります。

 

ウィンドウを閉じる方法

ウィンドウを閉じるためにはCTRLWIN関数を利用します。

ソフトウェアによっては「保存しますか?」のようなダイアログボックスが表示されるかもしれません。

そのような場合は引数でCLOSE2を指定することによりダイアログボックスを無視して終了させることができます。

CTRLWIN関数はウィンドウのIDが必要になるので事前にGETID関数でウィンドウのIDを取得しておきましょう。

 

ウィンドウを閉じるサンプル

メモ帳を起動させておいてください。

id = GETID("メモ帳") // メモ帳のIDを取得
CTRLWIN(id, CLOSE)

 

CTRLWIN関数リファレンス

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

CTRLWIN( ID, 命令 )
引数
 ID: Windowを識別するID
 命令 
  CLOSE     // 終了
  CLOSE2    // 終了(QUIT)
  ACTIVATE   // アクティブ
  HIDE     // 非表示
  SHOW     // 表示
  MIN      // アイコン化
  MAX      // 最大化
  NORMAL    // サイズ戻す
  TOPMOST    // 最前面に固定
  NOTOPMOST  // 最前面固定を解除
  TOPNOACTV  // 最前面にするがアクティブ化はしない

 

ウィンドウをアクティブにする方法

ウィンドウをアクティブにするにはCTRLWIN関数を利用します。

事前に操作対象にするウィンドウのIDを取得する必要があるのでGETID関数と組み合わせて利用しましょう。

CTRLWIN関数は他にもウィンドウを最大化させたり再前面に固定するといった使い方もできます。

 

ウィンドウをアクティブにするサンプル

対象となるウィンドウが最小化されている場合は通常表示に戻します。

対象となるウィンドウのアクティブ状態をチェックし、非アクティブであればアクティブにします。

電卓を起動させておいてください。

id = GETID("電卓") // 電卓のIDを取得
IFB STATUS(id, ST_ICON) // ウィンドウがアイコン状態(最小化)かチェック
 CTRLWIN(id, NORMAL) // 表示を通常にする
ENDIF
IFB !STATUS(id, ST_ACTIVE) // ウィンドウがアクティブかチェック
 CTRLWIN(id, ACTIVATE) // アクティブにする
ENDIF

 

CTRLWIN関数リファレンス

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

CTRLWIN( ID, 命令 )
引数
 ID: Windowを識別するID
 命令 
  CLOSE     // 終了
  CLOSE2    // 終了(QUIT)
  ACTIVATE   // アクティブ
  HIDE     // 非表示
  SHOW     // 表示
  MIN      // アイコン化
  MAX      // 最大化
  NORMAL    // サイズ戻す
  TOPMOST    // 最前面に固定
  NOTOPMOST  // 最前面固定を解除
  TOPNOACTV  // 最前面にするがアクティブ化はしない