システム関数 - 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
 
- OSのアーキテクチャが64bitなら
- 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
 
 
- OS種別を示す定数
- 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              : 上記以外