Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


241 / 73513 ←次へ | 前へ→

【78902】Re:アプリケーション起動完了の判定
質問  ちょろすけ  - 17/2/21(火) 17:33 -

引用なし
パスワード
   ウッシさん

ありがとうございます!
ただ、、凄いとしか。
想像以上に複雑過ぎて焦ってます。

もし宜しければ、ポイントになる部分の解説(コメント)もご教示頂けないでしょうか。。
お手数掛けてしまいますが、宜しくお願い致します。


▼ウッシ さん:
>こんにちは
>
>Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
>Public Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long
>Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
>Public Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
>Public Const GW_OWNER = 4
>Public flg As Boolean
>
>Public Function GetProc(ByVal hWnd As Long, lParam As Long) As Boolean
>  Dim sName As String * 128
>  Dim ret  As Long
>  
>  sName = ""
>  ret = GetWindowText(hWnd, s, Len(s))
>  
>  If IsWindowVisible(hWnd) Then
>    If GetWindow(hWnd, GW_OWNER) = 0 Then
>      If ret <> 0 Then
>        If sName Like "対象のWindowキャプション名*" Then
>          flg = True
>          Exit Function
>        End If
>      End If
>    End If
>  End If
>  GetProc = True
>End Function
>
>
>Sub test()
>  Dim s As Single
>  s = Timer
>  flg = False
>  Do
>    Call EnumWindows(AddressOf GetProc, 0)
>    If Timer - s > 10 Then '10秒待ち
>      Exit Do
>    End If
>  Loop Until flg = True
>  If flg = False Then
>    MsgBox "時間切れ、見つかりません"
>  Else
>    '見つかったので次の処理
>    Stop
>  End If
>End Sub
>
>こんな感じでどうでしょうか? 
>
>
>▼ちょろすけ さん:
>>皆さま教えて下さい。
>>
>>あるアプリケーションをShellコマンドで起動させて、起動完了(ウインドウが
>>完全に開いた状態)を判定してから次の処理(SendKeysなど)に移りたいの
>>ですが、どの様なコードを書けば良いのか行き詰ってます。
>>
>>(色々調べてみると、アプリケーションを起動させて、終了を確認してから
>> 次の処理に移るようなコードはありましたが、今回は起動完了だけを判定
>> したいです。)
>>
>>Do〜Loopとかでも試してみましたが、Shellコマンドが通った時点(ウインドウが
>>完全に開く前)で次の処理に移ってしまうので、SendKeysなどがうまく動かない
>>のです。
>>
>>長々とすいません、、宜しくお願い致します。

86 hits

【78899】アプリケーション起動完了の判定 ちょろすけ 17/2/21(火) 12:14 質問[未読]
【78900】Re:アプリケーション起動完了の判定 ウッシ 17/2/21(火) 15:51 回答[未読]
【78902】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/21(火) 17:33 質問[未読]
【78904】Re:アプリケーション起動完了の判定 ウッシ 17/2/21(火) 22:09 回答[未読]
【78905】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/21(火) 22:17 回答[未読]
【78908】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/22(水) 10:17 お礼[未読]
【78903】Re:アプリケーション起動完了の判定 γ 17/2/21(火) 21:25 発言[未読]
【78906】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/21(火) 22:19 回答[未読]
【78907】Re:アプリケーション起動完了の判定 β 17/2/22(水) 5:56 発言[未読]
【78909】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/22(水) 10:24 お礼[未読]
【78910】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/22(水) 10:54 質問[未読]
【78911】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/22(水) 11:06 質問[未読]
【78915】Re:アプリケーション起動完了の判定 γ 17/2/22(水) 23:35 発言[未読]
【78916】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/23(木) 8:27 質問[未読]
【78917】Re:アプリケーション起動完了の判定 γ 17/2/23(木) 8:29 発言[未読]
【78919】Re:アプリケーション起動完了の判定 ちょろすけ 17/2/23(木) 9:23 お礼[未読]

241 / 73513 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free