VCで他ウィンドウを最小化させる方法については紹介したが、同様にVBで他ウィンドウを最小化させる。
VCの場合と同様、Win32API を利用してウィンドウをコントロールする。
作成するアプリケーションはVCのときのものをカスタマイズし、入力されたウィンドウタイトルを持つウィンドウを制御するものである。(当然、VCでも同様のインターフェースを作成することができる。)
VBの場合、Win32APIを使用する際には、APIビューアを使用すると便利である。
APIビューアを使用し、VCのときに使用した FindWindow 関数、ShowWindow 関数、IsIconic
関数を検索すると、以下のような文字列が表示される。
|
FindWindow関数 |
|
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long |
|
ShowWindow関数 |
|
Public Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long |
|
IsIconic関数 |
|
Public Declare Function IsIconic Lib "user32" Alias "IsIconic" (ByVal hwnd As Long) As Long |
VBにおいて上記のようなWin32APIを使用する場合は、使用する前に上記の文字列を記述し、宣言しておく必要がある。
サンプルでは、メインフォームの中に宣言することにする。この場合、各関数はPublicではなくPrivateによる宣言になる。
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long |
また、ShowWindow関数で使用する SW_xxxx の定数に関しては、フォーム内でのグローバル変数とし、フォームがロードされた際に初期化するようにしてある。
Win32APIを宣言したあとの処理方法に関してはVCのときとまったく同一であるので、詳細に関しては、ここを参照していただきたい。
サンプルはこちらから。 |