二重起動時に元のEXEを元のサイズに戻すには?

解決


おたずね者  2004-10-20 19:23:14  No: 117064

タイトルの通りなのですが、具体的に説明しますと。
A.exeが起動されていて最小化にしてある時に、再度新たにA.exeを起動した場合、App.PrevInstance を使って、最初のA.exeを最小化から元のサイズに戻してアクティブにし、自分自身はEndしたいのです。
よろしくお願いします。


raki  URL  2004-10-20 19:58:09  No: 117065

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


おたずね者  2004-10-20 20:55:08  No: 117066

お返事ありがとうございます。VB6で大丈夫です。
APIはどうも苦手でどうにか避けようとしてましたが、やはりAPIしかないようですね。
解決しました。ありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加