本ページには広告が含まれています。
OS種別を示す番号を返す関数です。引数にTRUEを指定するとOSが64bitがとうかを返します。
- 構文
- return = KINDOFOS( 64bit確認フラグ )
- 引数
- 64bit確認フラグ (Boolean = False)省略可
- 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)
プログラム実行例
パソコンの音量を上げる
パソコンの音量を上げます。Windows2000以降のOSの場合は仮想キーの操作で音量を上げ、Windows 2000より前のOSの場合はボリューム調整ツールを操作することで音量を上げます。
IFB KINDOFOS() >= 12 THEN
KBD(VK_VOLUME_UP)
ELSE
ID = EXEC("SNDVOL32.exe /t")
SETSLIDER(ID, GETSLIDER(ID, 1) - 10)
ENDIF
使用関数
解説
パソコンの音量を下げる
パソコンの音量を下げます。Windows2000以降のOSの場合は仮想キーの操作で音量を下げ、Windows 2000より前のOSの場合はボリューム調整ツールを操作することで音量を下げます。
IFB KINDOFOS() >= 12
KBD(VK_VOLUME_DOWN)
ELSE
ID = EXEC("SNDVOL32.exe /t")
SETSLIDER(ID, GETSLIDER(ID, 1) + 10)
ENDIF
使用関数
解説
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)
//////////////////////////////////////////////////
// 【引数】
// section : セクション
// key : キー(Delete関数は省略可)
// value : 値
// path : INIファイルのパス
// default : セクションとキーが存在しなかった場合に返す値
// 【戻り値】
//
//////////////////////////////////////////////////
MODULE INI
DEF_DLL GetPrivateProfileStringW(wstring,wstring,wstring,var pwchar,dword,wstring):dword:kernel32
DEF_DLL WritePrivateProfileStringW(wstring,wstring,wstring,wstring):bool:kernel32
FUNCTION Read(section = NULL, key = NULL, path = NULL, default = EMPTY)
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
IFB path = NULL THEN
path = FSO.GetAbsolutePathName(FSO.GetBaseName(GET_UWSC_NAME) + ".INI")
ELSE
path = FSO.GetAbsolutePathName(path)
ENDIF
DIM n = 1024
DIM buffer = FORMAT(CHR(0), n)
IFB GetPrivateProfileStringW(section, key, default, buffer, n, path) = 0 THEN
RESULT = default
ELSE
RESULT = SLICE(SPLIT(buffer, CHR(0), TRUE))
IF section <> NULL AND key <> NULL THEN RESULT = RESULT[0]
ENDIF
FEND
FUNCTION Write(section, key, value, path = NULL)
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
IFB path = NULL THEN
path = FSO.GetAbsolutePathName(FSO.GetBaseName(GET_UWSC_NAME) + ".INI")
ELSE
path = FSO.GetAbsolutePathName(path)
ENDIF
RESULT = WritePrivateProfileStringW(section, key, value, path)
FEND
PROCEDURE Delete(section, key = NULL, path = NULL)
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
IFB path = NULL THEN
path = FSO.GetAbsolutePathName(FSO.GetBaseName(GET_UWSC_NAME) + ".INI")
ELSE
path = FSO.GetAbsolutePathName(path)
ENDIF
PRINT WritePrivateProfileStringW(section, key, NULL, path)
FEND
FUNCTION escape(value)
DIM esc = ";#=:"
FOR i = 1 TO LENGTH(esc)
DIM s = COPY(esc, i, 1)
value = REPLACE(value, s, "\" + s)
NEXT
RESULT = value
FEND
FUNCTION unescape(value)
DIM esc = ";#=:"
FOR i = 1 TO LENGTH(esc)
DIM s = COPY(esc, i, 1)
value = REPLACE(value, "\" + s, s)
NEXT
RESULT = value
FEND
ENDMODULE
使用関数
解説
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()]
使用関数
関連記事
- Shell.GetSystemInformation メソッド
- システム情報を取得します。