none
「応答なし」と判断するまでの時間の変更

    質問

  • Windows Vista になってから、時間が掛かるような処理のプログラムですぐに「応答なし」となり、

    ダイアログが表示されて、ボタンを押し間違えるとプログラムを強制終了してしまいます。

     

    プログラムの作りが悪いと言うこともあるとは思いますが、

    OSのレジストリなどの変更によって、この「応答なし」と判断するまでの時間を長くすることはできないでしょうか?

    2008年11月26日 5:58

回答

  • のらくろ さん、

     

    こんにちは!
    フォーラム オペレーターの服部 清次です。
    tnaoshi さんが提供してくださった情報を少し補足させていただきます。

    tnaoshi さんがおっしゃっているとおり、HungAppTimeout のレジストリ値を変更することで、「応答なし」 のメッセージ ボックスが表示されるまでの時間を変更することができるのですが、Windows Vista ではこのレジストリ自体が存在しません。。。
    以下の方法で、このレジストリを新規で作り、設定数値を変更してください。

    1. [スタート] ボタンをクリック
    2. [検索の開始] に regedit と入力
    3. [プログラム] に表示される regedit を右クリックして、[管理者として実行] → [続行] で、レジストリ エディタを開く
    4. [HKEY_CURRENT_USER] → [Control Panel] → [Desktop] で右クリック
    5. [新規] → [文字列値]
    6. [値の名前] に HungAppTimeout と入力して、[値のデータ] に希望の数値を入力する。 * この数値は1/1000 秒を示すもので、デフォルトでは、5000 (5秒) となっています。
    7. PC を再起動する。

    私の方では動作の変更を確認できましたので、ぜひ一度こちらの方法をお試しください。

    また、その結果も報告していただければ嬉しいです。
    それでは、また!

     

     

    ____________________________________________
    マイクロソフト株式会社 フォーラム オペレータ 服部 清次

    2008年12月9日 5:47
    モデレータ
  • HungAppTimeout のレジストリを編集することで可能かもしれません。

     

    但し、公式情報ということで言うとWindows Server 2003 の Deployment Guide で Microsoft 情報を見つけたのみでした。

    Windows Vista において有効なのかどうかは試してみないと分からないです。

    一応参考までに情報を載せておきますね。

     

    -- Windows Server 2003 Deployment Guide より

    キー:HKCU\Control Panel\Desktop
    エントリ:HungAppTimeout
    データ型:REG_DWORD
    既定値:5000

    ※単位はミリ秒

     

    Specifies how long the system waits for user processes to end after the user clicks the End Task command button in Task Manager or after the user has selected to restart or shutdown the system. If this threshold is exceeded, the End Task dialog box appears, stating that the process did not respond.

    要約すると、ハングアップ時の確認ダイアログを表示するタイミングを制御する、というものだと思います。

    レジストリエントリが無い場合は、追加して確認してみてください。

     

    また、このほか WaitToKillAppTimeout と呼ばれるログオフ/シャットダウン時のダイアログ表示タイミングを制御するレジストリもあるようです。

     

    http://journal.mycom.co.jp/column/winxp/011/index.html

    にも情報があったので XP ではこれらのエントリは使えるかもしれません。Vista では不明ですが、ご参考になれば。

    2008年12月1日 11:17

すべての返信

  • HungAppTimeout のレジストリを編集することで可能かもしれません。

     

    但し、公式情報ということで言うとWindows Server 2003 の Deployment Guide で Microsoft 情報を見つけたのみでした。

    Windows Vista において有効なのかどうかは試してみないと分からないです。

    一応参考までに情報を載せておきますね。

     

    -- Windows Server 2003 Deployment Guide より

    キー:HKCU\Control Panel\Desktop
    エントリ:HungAppTimeout
    データ型:REG_DWORD
    既定値:5000

    ※単位はミリ秒

     

    Specifies how long the system waits for user processes to end after the user clicks the End Task command button in Task Manager or after the user has selected to restart or shutdown the system. If this threshold is exceeded, the End Task dialog box appears, stating that the process did not respond.

    要約すると、ハングアップ時の確認ダイアログを表示するタイミングを制御する、というものだと思います。

    レジストリエントリが無い場合は、追加して確認してみてください。

     

    また、このほか WaitToKillAppTimeout と呼ばれるログオフ/シャットダウン時のダイアログ表示タイミングを制御するレジストリもあるようです。

     

    http://journal.mycom.co.jp/column/winxp/011/index.html

    にも情報があったので XP ではこれらのエントリは使えるかもしれません。Vista では不明ですが、ご参考になれば。

    2008年12月1日 11:17
  • のらくろ さん、

     

    こんにちは!
    フォーラム オペレーターの服部 清次です。
    tnaoshi さんが提供してくださった情報を少し補足させていただきます。

    tnaoshi さんがおっしゃっているとおり、HungAppTimeout のレジストリ値を変更することで、「応答なし」 のメッセージ ボックスが表示されるまでの時間を変更することができるのですが、Windows Vista ではこのレジストリ自体が存在しません。。。
    以下の方法で、このレジストリを新規で作り、設定数値を変更してください。

    1. [スタート] ボタンをクリック
    2. [検索の開始] に regedit と入力
    3. [プログラム] に表示される regedit を右クリックして、[管理者として実行] → [続行] で、レジストリ エディタを開く
    4. [HKEY_CURRENT_USER] → [Control Panel] → [Desktop] で右クリック
    5. [新規] → [文字列値]
    6. [値の名前] に HungAppTimeout と入力して、[値のデータ] に希望の数値を入力する。 * この数値は1/1000 秒を示すもので、デフォルトでは、5000 (5秒) となっています。
    7. PC を再起動する。

    私の方では動作の変更を確認できましたので、ぜひ一度こちらの方法をお試しください。

    また、その結果も報告していただければ嬉しいです。
    それでは、また!

     

     

    ____________________________________________
    マイクロソフト株式会社 フォーラム オペレータ 服部 清次

    2008年12月9日 5:47
    モデレータ
  • すいません。ネットを調べていたら、のらくろさんのこの質問にたどり着きました。
    質問ではHungAppTimeOutをレジストリに登録して「応答なし」までの時間のコントロールが出来るとの事ですが、
    Vistaで表示されるダイアログって2000やXPでは表示されなかったと思うんです。
    これを表示させない事ってVistaの設定等で可能でしょうか?
    そのかわり今まで通り応答なしとなったアプリケーションはタスクマネージャよりタスク終了させたいのです。
    よろしくお願いします。
    2009年12月18日 7:45