• ベストアンサー

"応答無し"になるまでの時間について

【環境】 WinXP Pro + VB6 SP5 【質問】 よくプログラムから応答がないと"応答無し"の状態に なってしまいますが、"応答無し"になるまでの時間設定は可能なのでしょうか? ご存知の方がいたら教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

SendMessageTimeout()の説明に、 >スレッドが 5 秒以内に GetMessage または同様の関数を呼び出さなかった場合、SendMessageTimeout 関数は、そのスレッドがハングアップしていると見なします。 という記述があるので無理かと。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpwinui/html/_win32_sendmessagetimeout.asp

koba2000
質問者

お礼

5秒と明示してあるので、例え10秒で帰ってくる関数があったとしても5秒でOSは"応答無し"のアプリになってしまうということですね。 通常の回避はDoEventsを入れるとか[×]ボタンを無効にするとかで対応できるのですが、XPは[×]ボタンを無効にしても"応答なし"ダイアログがでてしまうと[×]ボタン無効化が解除されてしまうので相談させていただきました。 又、別の方法を考えます。 ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>プログラムから応答がないと"応答無し"の状態に なってしまいますが アプリ・プログラムそのものは、自ずから好んで応答なしになるわけで無く、OSに応答したくても応答できないのではないですか。正常ループと返るべきウインドウ・メッセージがOSに返ってこないのと違いが判るのでしょうか。 だから監視しているOSがやらないと出来ないと思うのですが、一定時間アプリから応答なしだと、OSは画面にメッセージを返してくれましたっけ。CTRL+AL+DELを操作者がして、始めて応答なしを知るのではないですか(98)。Xpでは進歩してますか。 確かに色んなところに、何回(ケースでバラバラ)リトライして上手く行かないときは、メッセージを出すアプリは沢山あると思いますが。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

応答なし・・・って ふつうは、そのプログラムが「ハングアップ」していると言うことだと思いますが・・・。 つまり、お亡くなりになってる。

関連するQ&A