VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/07/20(Fri) 20:24
投稿者はる
Eメール
URL
タイトルプロセスIDはとれているのに、OpenProcessで0になる

FindWindowで、アプリケーションのキャプションでハンドルをとって
                If hHung = 0 Then
                    hHung = FindWindow(vbNullString, "サーバー設定")
                End If
アプリケーションの応答なし状態(IsHungAppWindow)
を3秒おきにチェックして、10回連続応答なし状態(IsHungAppWindow)
=30秒間応答なし
であるとき、TerminateProcessで強制終了させています
通常はうまくいっているのですが、ときたまうまくいかないケースが発生します
プロセスIDはとれているのに、OpenProcess で、0になります
どなたか同じような経験がある方おいでにならないでしょうか?

            Call GetWindowThreadProcessId(hHung, lngProcessID)
           'lngProcessIDは値が取れている
            hProcess = OpenProcess(SYNCHRONIZE Or PROCESS_TERMINATE, 0, lngProcessID)
            If hProcess = 0 Then  ’<−−ここが0になる
                DoEvents
                tmrClientCheck.Enabled = True
                Exit Sub
            End If
            Call TerminateProcess(hProcess, 0)
            Call CloseHandle(hProcess)


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -