ウィンドウが最小化されているかどうかを判断 <TOP>
ウインドウが最小化されているかどうかの判断と、テンポラリパスを取得します。
GetUserName ユーザー名を取得
GetTempPath 一時フォルダ(テンポラリフォルダ)を取得
IsIconic ウィンドウが最小化されているかどうかを判断
タイマーを貼り付けます。起動するとユーザ名およびテンポラリパスが表示されます。
【OK】をクリックすると、フォームが最小化されていないのでメニューバーに【最小化:False】と表示されます。アイコン化ボタンをクリックするとタスクバー上で【最小化:True】と表示されます。
'================================================================ '= ウィンドウが最小化されているかどうかを判断
'= (IsIconic.bas) '================================================================ #include "Windows.bi" ' ユーザー名を取得 Declare Function Api_GetUserName& Lib "advapi32" Alias "GetUserNameA" (ByVal lpBuffer$, nSize&) ' 一時フォルダ(テンポラリフォルダ)を取得 Declare Function Api_GetTempPath& Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength&, ByVal lpBuffer$) ' ウィンドウが最小化されているかどうかを判断する関数 Declare Function Api_IsIconic& Lib "user32" Alias "IsIconic" (ByVal hWnd&) Var Shared Timer1 As Object Timer1.Attach GetDlgItem("Timer1") '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() Var Temp As String Var UserName As String Var Ret As Long 'バッファ初期化 Temp = String$(100, Chr$(0)) 'テンポラリパス取得 Ret = Api_GetTempPath(100, Temp) 'Null除去 Temp = Left$(Temp, InStr(Temp, Chr$(0)) - 1) 'バッファ初期化 UserName = String$(100, Chr$(0)) 'ユーザ名取得 Ret = Api_GetUserName(UserName, 100) 'Null除去 UserName = Left$(UserName, InStr(UserName, Chr$(0)) - 1) 'TempPathとユーザー名表示 A% = MessageBox(GetWindowText, "ユーザー名:" & UserName & Chr$(13) & "TempPath:" & Temp, 0, 2) Timer1.SetInterval 10 Timer1.Enable -1 End Sub '================================================================ '= '================================================================ Declare Sub Timer1_Timer edecl () Sub Timer1_Timer() Var State As String Var Ret As Long '最小化されているかをチェック Ret = Api_IsIconic(GethWnd) If Ret = 1 Then State = "True" Else State = "False" 'フォームキャプション更新 SetWindowText "最小化:" & State End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End