システム関数 - stuncloud/UWSCR GitHub Wiki

KINDOFOS

対応バージョン: 0.3.0

OS種別、またはアーキテクチャを判定します

戻り値 = kindofos([取得データタイプ])
  • 取得データタイプ (省略可)
    デフォルトはFALSEまたは0
    以下が指定可能

    • TRUEまたは1
    • FALSEまたは0
    • OSVER_MAJOR (2)
    • OSVER_MINOR (3)
    • OSVER_BUILD (4)
    • OSVER_PLATFORM (5)
  • 戻り値
    取得データタイプによる

    • TRUEまたは1
      • OSのアーキテクチャが64bitならTRUE
    • FALSEまたは0
      • OS種別を示す定数
        • OS_WIN2000 (12)
        • OS_WINXP (13)
        • OS_WINSRV2003 (14)
        • OS_WINSRV2003R2 (15)
        • OS_WINVISTA (20)
        • OS_WINSRV2008 (21)
        • OS_WIN7 (22)
        • OS_WINSRV2008R2 (27)
        • OS_WIN8 (23)
        • OS_WINSRV2012 (24)
        • OS_WIN81 (25)
        • OS_WINSRV2012R2 (26)
        • OS_WIN10 (30)
        • OS_WINSRV2016 (31)
        • OS_WIN11 (32)
        • 判定できない場合は0
    • OSVER_MAJOR (2)
      • OSのメジャーバージョン
    • OSVER_MINOR (3)
      • OSのマイナーバージョン
    • OSVER_BUILD (4)
      • OSのビルド番号
    • OSVER_PLATFORM (5)
      • OSのプラットフォームID

ENV

実装バージョン: 0.0.6

環境変数を展開します

戻り値 = env(環境変数)
  • 環境変数
    環境変数を示す文字列
  • 戻り値
    展開された環境変数
print env('programfiles')
// C:\Program Files

EXEC

実装バージョン: 0.1.1

プロセスを起動します

戻り値 = exec(ファイル名 [, 同期フラグ, x, y, w, h])
  • ファイル名
    実行したいexeファイルのパス
    パスのあとにパラメータを書いてもOK
  • 同期フラグ (省略可)
    TRUEならプロセスの終了を待つ
    FALSEなら待たない 省略時はFALSE
  • x (省略可)
    ウィンドウ表示位置(X座標)
    省略時はデフォルトの位置
  • y (省略可)
    ウィンドウ表示位置(Y座標)
    省略時はデフォルトの位置
  • w (省略可)
    ウィンドウ幅
    省略時はデフォルトのサイズ
  • h (省略可)
    ウィンドウ高さ
    省略時はデフォルトのサイズ
  • 戻り値
    同期フラグがFALSEの場合、ウィンドウID
    同期フラグがTRUEの場合、プロセスの終了コード
    プロセスが起動できなかった場合やウィンドウIDが取得できない場合は-1

IDを返す場合はID0も更新します

id = exec("notepad")
acw(0, 100, 100)
sleep(1)
ctrlwin(0, MIN)

SHEXEC

実装バージョン: 0.1.1

対象ファイルに対してシェルにより指定された動作で実行させます
(「ファイル名を指定して実行」とほぼ同じ)

戻り値 = shexec(ファイル[, パラメータ])
  • ファイル
    実行したいファイル
  • パラメータ
    実行時に付与するパラメータ
  • 戻り値
    正常に実行された場合はTRUE
shexec("cmd", "/k ipconfig")

WMI

対応バージョン: 0.3.0

WQLを発行しWMIから情報を取得します

UObject配列 = wmi(WQL, [名前空間])
変数名 種別 説明
WQL 文字列 必須 WMIに対するクエリ文
名前空間 文字列 省略可 root\cimv2 以外の場合に名前空間のパスを指定する
UObject配列 配列 戻り値 クエリ結果の配列、各要素はUObject
res = wmi('select name, processid, commandline from Win32_Process where name = "uwscr.exe"')
for obj in res
    print obj.name
    print obj.processid
    print obj.commandline
next

DOSCMD

対応バージョン: 0.4.0

コマンドプロンプトを実行します

標準出力 = doscmd(コマンド, 非同期実行=FALSE, 画面表示=FALSE, Unicode出力=FALSE)
変数名 種別 説明
コマンド 文字列 必須 実行するコマンド
非同期実行 真偽値 省略可 FALSEなら終了するまで待つ
画面表示 真偽値 省略可 TRUEなら画面を表示する
Unicode出力 真偽値 省略可 TRUEなら /U オプションで起動
出力 文字列 戻り値 非同期実行と画面表示のいずれもFALSEだった場合標準出力または標準エラーを返す
非同期実行と画面表示のいずれかまたは両方がTRUEだった場合はEMPTY
// Unicode出力で文字化けを解消する
cmd = "echo 森鷗外𠮟る 🐶"
print doscmd(cmd, FALSE, FALSE, FALSE) // 森?外??る ??
print doscmd(cmd, FALSE, FALSE, TRUE)  // 森鷗外𠮟る 🐶

POWERSHELL

PWSH

対応バージョン: 0.4.0

PowerShellを実行します

// Windows PowerShell (バージョン5.xまで) を実行する

標準出力 = powershell(コマンド, 非同期実行=FALSE, 画面表示=FALSE, プロファイル無視=FALSE)

// PowerShell (バージョン6以降) を実行する

出力 = pwsh(コマンド, 非同期実行=FALSE, 画面表示=FALSE, プロファイル無視=FALSE)
変数名 種別 説明
コマンド 文字列 必須 実行するコマンド
非同期実行 真偽値 省略可 FALSEなら終了するまで待つ
画面表示 真偽値または数値 省略可 TRUEなら画面を表示、FALSEは非表示
2なら表示した画面を最小化して実行する
プロファイル無視 真偽値 省略可 TRUEなら$PROFILEを読み込まない (-NoProfile)
出力 文字列 戻り値 非同期実行と画面表示のいずれもFALSEだった場合標準出力または標準エラーを返す
EMPTY 非同期実行と画面表示のいずれかまたは両方がTRUEの場合

type_of

UWSCRのデータ型を調べる

戻り値 = type_of(値)

戻り値は以下の定数で返ります

TYPE_NUMBER             : 数値 (double)
TYPE_STRING             : 文字列
TYPE_BOOL               : 真偽値 (true/false)
TYPE_ARRAY              : 配列
TYPE_HASHTBL            : 連想配列
TYPE_ANONYMOUS_FUNCTION : 無名関数
TYPE_FUNCTION           : ユーザ定義関数
TYPE_BUILTIN_FUNCTION   : 組み込み関数
TYPE_MODULE             : モジュール
TYPE_CLASS              : クラス
TYPE_CLASS_INSTANCE     : クラスインスタンス
TYPE_NULL               : Null
TYPE_EMPTY              : Empty
TYPE_NOTHING            : Nothing
TYPE_HWND               : HWND
TYPE_REGEX              : 正規表現
TYPE_UOBJECT            : UObject
TYPE_VERSION            : バージョン値
TYPE_THIS               : module/classのthis
TYPE_GLOBAL             : module/classのglobal
TYPE_ENUM               : Enum
TYPE_TASK               : Task
TYPE_DLL_FUNCTION       : DLL関数
TYPE_STRUCT             : ユーザ定義構造体
TYPE_STRUCT_INSTANCE    : ユーザ定義構造体インスタンス
TYPE_COM_OBJECT         : COMオブジェクト
TYPE_VARIANT            : VARIANT型
TYPE_OTHER              : 上記以外