最小化されているウィンドウを復元する          <TOP>


例では、可視なしに設定したフォームを最小化し、3秒後に元の大きさに復元しています。

IsIconic ウィンドウが最小化されているかどうかを判断

OpenIcon 最小化されているウィンドウを、元のサイズに戻す

Sleep 指定した時間の間、処理を停止

 

 

'================================================================
'= 最小化されているウィンドウを復元する
'=    (OpenIcon.bas)
'================================================================
#include "Windows.bi"

' ウィンドウが最小化されているかどうかを判断
Declare Function Api_IsIconic& Lib "user32" Alias "IsIconic" (ByVal hWnd&)

' 最小化されているウィンドウを、元のサイズに戻す
Declare Function Api_OpenIcon& Lib "user32" Alias "OpenIcon" (ByVal hWnd&)

' 指定した時間の間、処理を停止
Declare Sub Api_Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds&)

Var Shared Text1 As Object

Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Var Ret As Long

    MinimizeWindow
    ShowWindow -1
    CallEvent

    '3秒待つ(単位:ミリ秒)
    Api_Sleep 3000

    'ウィンドウが最小化されている場合、復元しアクティブに
    If Api_IsIconic(GethWnd) <> False Then
        Ret = Api_OpenIcon(GethWnd)
        Text1.SetWindowText "最小化から復元しました!"
    End If
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End