VB6初心者です。 ・VB6で作成したプログラム「画面A」があります。 ・画面Aであるボタンを押した時に、その端末で開いている親子関係にあるIE2画面以上を全て閉じます。 ・以下のコーディングで実装しているのですが、2つ目のLoopのところで永久ループになってしまいます。 どこに問題があるのでしょうか? Public Sub subViewerClose() Dim lnghwnd As Long Dim lngWk() As Long Dim lngCounter As Long Dim retValue As Long Dim hProcessHandle As Long Dim lngPid As Long Dim lnghwnd2 As Long Dim loopCnt As Integer lnghwnd = 1 Do While lnghwnd > 0 lnghwnd = FindWindow(Class_NAME, vbNullString) If lnghwnd = 0 Then Exit Do ' 子のIEを落とす lnghwnd2 = 1 Do While lnghwnd2 > 0 lnghwnd2 = FindWindowExW(lnghwnd, 0, vbNullString, vbNullString) retValue = PostMessage(lnghwnd2, WM_SYSCOMMAND, SC_CLOSE, ByVal 0&) Loop retValue = PostMessage(lnghwnd, WM_SYSCOMMAND, SC_CLOSE, ByVal 0&) Sleep (100) loopCnt = loopCnt + 1 If loopCnt > 10 Then Exit Do Loop End Sub
↧