タイトルの通りなのですが、具体的に説明しますと。
A.exeが起動されていて最小化にしてある時に、再度新たにA.exeを起動した場合、App.PrevInstance を使って、最初のA.exeを最小化から元のサイズに戻してアクティブにし、自分自身はEndしたいのです。
よろしくお願いします。
VB6で作成されたEXEと仮定してコードを書きます。
使い方はA.exeのウィンドウキャプションを渡して下さい。
各APIの宣言に関しては御自分でお調べ下さい。
また、VB6のEXEではない場合、FindWindowの第一引数のクラス名を
省略するか、別の文字列に変更して下さい。
Public Sub PrevWindowToFront(ByVal strWindowCaption As String)
Dim lngHwnd As Long
lngHwnd = 0
lngHwnd = FindWindow("ThunderRT6FormDC", strWindowCaption)
If lngHwnd <> 0 Then
' メイン・ウィンドウが最小化されていれば元に戻す
If IsIconic(lngHwnd) Then
Call ShowWindowAsync(lngHwnd, SW_RESTORE)
End If
' メイン・ウィンドウを最前面に表示する
Call SetForegroundWindow(lngHwnd)
End If
End Sub
お返事ありがとうございます。VB6で大丈夫です。
APIはどうも苦手でどうにか避けようとしてましたが、やはりAPIしかないようですね。
解決しました。ありがとうございました。
ツイート | ![]() |