HOME > 即効テクニック > AccessVBA > Windows環境・オブジェクト > 指定したウィンドウをフォアグラウンドウィンドウにする

即効テクニック

Windows環境・オブジェクト

指定したウィンドウをフォアグラウンドウィンドウにする

(Access 2000/2002/2003)
●概要●
宣言文  Declare Function SetForegroundWindow Lib "user32" 
        (ByVal hwnd As Long) As Long

設定項目        内容
whnd            ウィンドウハンドルを指定[省略不可]

引数に指定したウィンドウハンドルを持つウィンドウをフォアグラウンドウィンドウにし、アクティブにします。成功時には「0」以外の値を、失敗時には「0」を返します。
次のコードは、ペイントをフォアグラウンドウィンドウにするサンプルです。

●サンプル●
Private Declare Function FindWindow _
    Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String _
    , ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow _
    Lib "user32" _
    (ByVal hwnd As Long) As Long

'指定したウィンドウをフォアグラウンドウィンドウにする
Sub Sample()
    Dim myHwnd As Long
    'ペイントのウィンドウハンドルの取得
    myHwnd = FindWindow("MSPaintApp", vbNullString)
    'ペイントをフォアグラウンドウィンドウにする
    SetForegroundWindow myHwnd
End Sub

●補足1●
サンプルを実行するときは、ペイントを起動してから実行してください。

●補足2●
フォアグラウンドウィンドウとは、ユーザーが操作できるウィンドウ(アクティブウィンドウ)のことです。

●補足3●
戻り値を必要としない場合には、Subプロシージャとして宣言してもかまいません。

Declare Sub SetForegroundWindow Lib "user32" (ByVal hwnd As Long)