Option Compare Database Option Explicit 'フォアグランドウィンドウのハンドル取得 Declare Function GetForegroundWindow Lib "user32" () As Long 'ウィンドウのキャプションバーをハイライト表示(Windows98ではFlashWindowEXが追加され、細かな設定が可能です) Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long 'ウィンドウのキャプションバーをハイライト表示(Windows98では FlashWindowEx が追加され、細かな設定が可能です) Public Const FLASHW_STOP = &H0 'フラッシュを停止し、元の状態に戻る Public Const FLASHW_CAPTION = &H1 'キャプションバーをフラッシュする Public Const FLASHW_TRAY = &H2 'タスクバーボタンをフラッシュする Public Const FLASHW_ALL = FLASHW_CAPTION Or FLASHW_TRAY Public Const FLASHW_TIMER = &H4 'FLASHW_STOP が設定されるまで連続的にフラッシュする Public Const FLASHW_TIMERNOFG = &HC 'ウインドウがフォアグラウンドになるまでフラッシュを継続する Type FLASHWINFO cbSize As Long '構造体のバイト数 hwnd As Long 'ウインドウのハンドル dwFlags As Long 'フラッシュの状態を指定する次の定数の組み合せ uCount As Long 'フラッシュの回数 dwTimeout As Long 'フラッシュの継続時間(ミリ秒) End Type Declare Function FlashWindowEx Lib "user32" (pfwi As FLASHWINFO) As Long 'OSのバージョンを取得 Type OSVERSIONINFO dwOSVersionInfoSize As Long '構造体のバイト数 dwMajorVersion As Long 'メジャーバージョン番号(Windows98/95とも &H4) dwMinorVersion As Long 'マイナーバージョン番号(Windows95 = &H0 Windows98 = &HA) dwBuildNumber As Long 'ビルド番号 dwPlatformId As Long 'プラットフォームのIDを示す定数 szCSDVersion As String * 128 'OSに関する付加情報を示す文字列 End Type 'プラットフォームのIDを示す定数 Public Const VER_PLATFORM_WIN32_NT = 2 Public Const VER_PLATFORM_WIN32_WINDOWS = 1 '(Windows98/95とも 1) Public Const VER_PLATFORM_WIN32s = 0 Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long '指定のウィンドウがアイコン化されているか Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long '指定のウィンドウが可視状態か Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long '指定のウィンドウが最大化されているか Declare Function IsZoomed Lib "user32" (ByVal hwnd As Long) As Long Public Function LsGetWinPlatform() As String Dim rc As Long, lpVersionInformation As OSVERSIONINFO, v(3) As String lpVersionInformation.dwOSVersionInfoSize = Len(lpVersionInformation) rc = GetVersionEx(lpVersionInformation) With lpVersionInformation v(0) = Hex$(.dwMajorVersion) 'メジャーバージョン番号 v(1) = Hex$(.dwMinorVersion) 'マイナーバージョン番号 v(2) = Hex$(.dwBuildNumber) 'ビルド番号 v(3) = Hex$(.dwPlatformId) 'プラットフォームのIDを示す定数 End With Select Case v(3) Case 2 LsGetWinPlatform = "NT" Case 1 If v(0) = "4" And v(1) > "1" Then LsGetWinPlatform = "98" Else LsGetWinPlatform = "95" End If Case Else LsGetWinPlatform = "??" End Select End Function