KINDOFOS

OS種別を示す番号を返す関数です。引数にTRUEを指定するとOSが64bitがとうかを返します。

構文
  1. return = KINDOFOS( [64bit確認フラグ] )
引数
64bit確認フラグ
FALSE
OS種別を示す番号を返す(デフォルト)
TRUE
OSが 32bit / 64bit かを返す
戻値

64bit確認フラグ=FALSE(デフォルト): OS種別を示す番号

10
NT3.5
11
NT4
12
Win2000
13
WinXP
14
Server2003
20
Vista
21
Server2008
22
Windows 7
23
Windows 8
24
Server2012
25
Windows 8.1
30
Windows 10
31
Server2016

64bit確認フラグ=TRUE: TRUE(64bit OS)/ FALSE(32bit OS)

プログラム実行例

パソコンの音量を上げる

IFB KINDOFOS() >= 12 KBD(VK_VOLUME_UP) ELSE ID = EXEC("SNDVOL32.exe /t") SETSLIDER(ID, GETSLIDER(ID, 1) - 10) ENDIF

パソコンの音量を下げる

IFB KINDOFOS() >= 12 KBD(VK_VOLUME_DOWN) ELSE ID = EXEC("SNDVOL32.exe /t") SETSLIDER(ID, GETSLIDER(ID, 1) + 10) ENDIF

UWSC.INIよりUWSC本体のウィンドウの幅と高さを取得

DIM WshShell = CREATEOLEOBJ("WScript.Shell") DIM username = WshShell.ExpandEnvironmentStrings("%USERNAME%") SELECT TRUE // Vista以降 CASE KINDOFOS() >= 20 path = "C:\Users\" + username + "\AppData\Roaming\UWSC\UWSC.INI" // Windows XP CASE KINDOFOS() = 13 path = "C:\Documents and Settings\" + username + "\Application Data\UWSC" DEFAULT MSGBOX("UWSC.INIのパスを特定できませんでした。") EXIT SELEND // SETセクションのPositionキーの値を取得 PRINT READINI("SET", "Position", path)

UWSCを起動したときのウィンドウの座標をマウス位置の座標に書き換える

CTRLWIN(GETID("UWSC Pro"), CLOSE) DIM WshShell = CREATEOLEOBJ("WScript.Shell") DIM username = WshShell.ExpandEnvironmentStrings("%USERNAME%") SELECT TRUE CASE KINDOFOS() >= 20 path = "C:\Users\" + username + "\AppData\Roaming\UWSC\UWSC.INI" CASE KINDOFOS() = 13 path = "C:\Documents and Settings\" + username + "\Application Data\UWSC\UWSC.INI" DEFAULT MSGBOX("UWSC.INIのパスを特定できませんでした。") EXIT SELEND PRINT WRITEINI("SET", "Position", G_MOUSE_X + "," + G_MOUSE_Y, path)
解説
  1. 1行目
    CTRLWIN(GETID("UWSC Pro"), CLOSE)
    UWSCを終了
  2. 3行目
    DIM WshShell = CREATEOLEOBJ("WScript.Shell")
    WshShellオブジェクトを生成。
  3. 4行目
    DIM username = WshShell.ExpandEnvironmentStrings("%USERNAME%")
    PCのユーザー名を取得。
  4. 6-14行目
    SELECT TRUE CASE KINDOFOS() >= 20 path = "C:\Users\" + username + "\AppData\Roaming\UWSC\UWSC.INI" CASE KINDOFOS() = 13 path = "C:\Documents and Settings\" + username + "\Application Data\UWSC\UWSC.INI" DEFAULT MSGBOX("UWSC.INIのパスを特定できませんでした。") EXIT SELEND
    KINDOFOS() >= 20(OSがVista以降ならば)
    pathに「C:\Users\username\AppData\Roaming\UWSC\UWSC.INI」を代入
    KINDOFOS() = 13(OSがWindows XPならば)
    pathに「C:\Documents and Settings\username\Application Data\UWSC\UWSC.INI」を代入
    DEFAULT(それ以外ならば)
    「UWSC.INIのパスを特定できませんでした。」と表示しプログラムを終了する。
  5. 16行目
    PRINT WRITEINI("SET", "Position", G_MOUSE_X + "," + G_MOUSE_Y, path)
    SETセクションのPositionキーの値をマウス位置の座標に書き換え、その値を取得・出力する。

OSを取得

HASHTBL OS OS[10] = "NT3.5" OS[11] = "NT4" OS[12] = "Win2000" OS[13] = "WinXP" OS[14] = "Server2003" OS[20] = "Vista" OS[21] = "Server2008" OS[22] = "Windows 7" OS[23] = "Windows 8" OS[24] = "Server2012" OS[25] = "Windows 8.1" OS[30] = "Windows 10" OS[31] = "Server2016" PRINT OS[KINDOFOS()]