Option Explicit

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

'位置座標を受け取る構造体
Public Type POINTAPI
        X As Long
        Y As Long
End Type


Public Type Msg
    hWnd As Long
    message As Long
    wParam As Long
    lParam As Long
    time As Long
    pt As POINTAPI
End Type

' ウィンドウのZオーダーの配置を示す
Public Declare Function SetWindowPos Lib "user32" ( _
   ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _
   ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
   ByVal cy As Long, ByVal wFlags As Long) As Long
'定数の宣言
Public Const HWND_TOPMOST = (-1)
Public Const HWND_NOTOPMOST = (-2)


' ウィンドウのサイズと位置の変更に関する定数の宣言

Public Const SWP_NOMOVE = &H2&
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOZORDER = &H4

'システムを起動した後の経過時間を、ミリ秒(ms)単位で取得
Public Declare Function GetTickCount Lib "kernel32" () As Long


'現在のマウスカーソルの位置座標を取得する
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long


'------------------------------------------------------------------
' キー/マウスの状態取得
'------------------------------------------------------------------
Public Declare Function GetAsyncKeyState Lib "user32.dll" _
        (ByVal vKey As Long) As Long

'関数呼び出し時にマウス/キーが押されているかどうか、また、
' 前回の GetAsyncKeyState 関数呼び出し以降にマウス/キーが押されたかどうかを判定。
'
'入力パラメータ
' vKey最大 256 とおりの仮想キーコードのいずれかを指定
'
'戻り値
' 関数が成功すると、前回の GetAsyncKeyState 関数呼び出し以降にマウス/キーが押されたかどうか、
' およびマウス/キーが現在押されているかどうかを示す値が返る。下位2バイトの
' 最上位ビットがセットされた時
'  現在そのマウス/キーが押されていることを示し、
' 最下位ビットがセットされた時
'  前回の GetAsyncKeyState 関数呼び出し以降にそのマウス/キーが押されたことを示す。