プロが教えるわが家の防犯対策術!

WINDOWS XPのシャットダウンを”WINDOWS”+”U”+”U”でシャットダウンするプログラムを作ったのですが、スタート画面までしかいかず、うまく動きません。自動シャットダウンのプログラムのURLもご紹介受けたのですが、上記の方法でなぜできないのか知りたいです。

A 回答 (1件)

「”WINDOWS”+”U”+”U”」これはキーコードを送信して行っているのでしょうか?


キーコードを送信している場合、その間隔は?

質問の内容からして、間隔を空けずに連続で送信していませんか?
「Winキー」送信後スタートメニューがアクティブにならないと次の「Uキー」を受け取らない為と思われます。

試しに、各キーの送信の間に「Sleep()」を入れてみてはいかがでしょうか?
とりあえず時間は長めに、確実に実行させるために10秒以上入れてみてはいかがでしょう。

ただし、この方法だとPCが変わるとうまくいかない可能性があります。
理由は、スタートメニューや終了のダイアログの表示のタイミングが一定とは限らないからです。

スタートメニューがアクティブになった事を検知できればいいのですがそう簡単には行かなかった記憶があります。


それよりは、素直に「ExitWindowsEx()」関数を使った方がよほど簡単だと思いますが。。。。。

この回答への補足

ありがとうございます。
間隔を大きくあけてもできませんでした。
とりあえずExitWindowsEx関数使わせてもらいます。

補足日時:2008/05/27 12:28
    • good
    • 0

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