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 THEN
	KBD(VK_VOLUME_UP)
ELSE
	ID = EXEC("SNDVOL32.exe /t")
	SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
ENDIF
解説
  1. 1-6行目
    IFB KINDOFOS() >= 12 THEN
    	KBD(VK_VOLUME_UP)
    ELSE
    	ID = EXEC("SNDVOL32.exe /t")
    	SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
    ENDIF
    OSがWindows2000以降ならば、音量を上げる。Windows2000よりも前ならば、「SNDVOL32.exe /t」でボリュームコントロールの音量機能のみを起動し、スライダーを調整することで音量を上げる。

パソコンの音量を下げる

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()]