アプリ版:「スタンプのみでお礼する」機能のリリースについて

WSH(VBScript)を使って、アプリケーション(GoogleEarth)をコントロールしています。
アプリがフリーズすることがあり、フリーズするとスクリプトはアプリからの応答待ちと思われる状態のまま止まってしまいます。
そこでフリーズを検出し、OSの再起動をかける仕組みを探しています。

VBScriptで何とかしようと思い作成しましたが、効果が得られなかったスクリプトを参考までに載せます。
On Error Resume Next
Set ge = WScript.CreateObject("GoogleEarth.ApplicationGE")
IF Err.Number <> 0 THEN

END IF
上記の場合、Setの一行でスクリプトが止まります(フリーズではなく、待ち状態だと思います)

できれば、VBScriptでの対応をと考えていますが、
他のプログラムでも、公開、発売されているソフトでも構いませんので、
特定のアプリケーションのフリーズ状態(応答無し)を検出できないでしょうか?

A 回答 (2件)

SendMessageTimeoutでWM_NULLを送る方法があるようです。


「アプリケーションが応答を停止したことを検出する方法。 」
http://support.microsoft.com/kb/231844/ja

この回答への補足

ありがとうございます。
参考をサイトをみて、試行錯誤しています。返事遅くなりまして失礼しました。

補足日時:2008/02/14 09:55
    • good
    • 0

同じくアドバイスです。

(ご参考までに。)

実行中のプロセスのシステムコールフックについて
http://oshiete1.goo.ne.jp/qa3503196.html

Linuxだとtopコマンドを使えば、プロセスのリアルタイム表示が可能ですよね。(Winでも似たようなのがあるのかな?専門外なのでよく分からず・・。)

参考URL:http://itpro.nikkeibp.co.jp/article/COLUMN/20060 …

この回答への補足

ありがとうございます。
下の方から頂いたのもですが、windowsがプロセスを監視できるような仕組みを提供してるんですね。勉強になります。

補足日時:2008/02/14 10:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!