• ベストアンサー

スタンバイのショートカット

%windir%\System32\rundll32.exe user32.dll,LockWorkStation でコンピュータのロックをできることを最近知りました。ショートカットにして使用しています。 同様に、スタンバイもしくは休止状態をコマンドで呼び出すのは、できればショートカットにしたいのですが、可能でしょうか? 普通にやればいいじゃないか、思われるかと思いますが、なにとぞよろしくお願いします。といいますのも、Tweak-XPというのインストールしたところ、シャットダウン関連のショートカットを作ってくれて、しかしながら、休止状態とスタンバイがないのです。なんか寂しいので、、、。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.8

私のXPは rundll32.exe powrprof.dll,SetSuspendState で休止状態になります。

Jasen
質問者

お礼

いとっちゃん、最高!!(とか言ったら少し失礼かな、、) 完璧です! 本当にありがとうございます。

その他の回答 (7)

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.7

ごめんなさい。 ANo.#4の WshShell.SendKeys("{down 4}"); の下に WshShell.SendKeys("{enter}"); を挿入してね。 それと ANo.#6の WshShell.SendKeys("{down 3}"); の下に WshShell.SendKeys("{enter}"); を挿入してね。

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.6

前回のは休止状態ね。 スタンバイは var WshShell= new ActiveXObject("WScript.Shell"); var objArgs = WScript.Arguments; var key1 = "HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\LogonType"; var timelug = 200; var LogonType = WshShell.RegRead(key1); if(LogonType==0){ WshShell.SendKeys("^{ESC}"); WScript.Sleep(timelug ); WshShell.SendKeys("u"); WScript.Sleep(timelug ); while( !WshShell.AppActivate("Windows のシャットダウン") ){WScript.Sleep(timelug ); } WshShell.SendKeys("%w"); WScript.Sleep(timelug ); WshShell.SendKeys("%w"); WScript.Sleep(timelug ); WshShell.SendKeys("{up 4}"); WScript.Sleep(timelug ); WshShell.SendKeys("{down 3}"); }else{ WshShell.SendKeys("^{ESC}"); WScript.Sleep(timelug ); WshShell.SendKeys("u"); WScript.Sleep(timelug ); WshShell.SendKeys("s"); } WScript.Quit(); です。

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.5

あっ WshShell.SendKeys("%w"); WScript.Sleep(timelug ); がダブってました。削除してね。

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.4

これはどう? Jscriptです。(拡張子はjsね) var WshShell= new ActiveXObject("WScript.Shell"); var objArgs = WScript.Arguments; var key1 = "HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\LogonType"; var timelug = 200; var LogonType = WshShell.RegRead(key1); if(LogonType==0){ WshShell.SendKeys("^{ESC}"); WScript.Sleep(timelug ); WshShell.SendKeys("u"); WScript.Sleep(timelug ); while( !WshShell.AppActivate("Windows のシャットダウン") ){WScript.Sleep(timelug ); } WshShell.SendKeys("%w"); WScript.Sleep(timelug ); WshShell.SendKeys("%w"); WScript.Sleep(timelug ); WshShell.SendKeys("{up 4}"); WScript.Sleep(timelug ); WshShell.SendKeys("{down 4}"); }else{ WshShell.SendKeys("^{ESC}"); WScript.Sleep(timelug ); WshShell.SendKeys("u"); WScript.Sleep(timelug ); WshShell.SendKeys("+h"); } WScript.Quit();

  • LinkZero
  • ベストアンサー率38% (5/13)
回答No.3

私もXPで試しました。休止にはならなかったですが、スタンバイにはなりましたよ。(なんでならないのか、わたしにはわかりません) 本題の、元に戻すやりかたです。 これはレジストリに値を新たに書き込んでます。書き込み場所のHKCUというのはHKEY_CURRENT_USERのことです。 スタート>ファイル名を指定して実行>「regedit」と入れてOK押す レジストリエディタが開く 下記に従ってどんどん深くおりていきます。 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer このExplorer直下に「Shutdown Setting」(種類:REG_DWORD)というものがあるので、それを削除してください。 このスクリプトの実行前にレジストリを確認したところ「Shutdown Setting」という項目は存在しませんでした。ですから削除して問題ありません。 これで元に戻ります。 最後にひとこと。 危ないことをするまえには復元ポイントの作成をぜひ! お気をつけください。 ●参考URL vbscript Regwriteメソッド http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/wsmthregwrite.asp SendKeyメソッド http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/wsmthsendkeys.asp 注意:紹介した責任もありますので今回はがんばりました。わたしはvbsriptにもレジストリにも詳しくないので、もし聞くのであれば他の人にしてください!(>_<)

Jasen
質問者

お礼

大変ご足労をおかけいたしました。感謝します。レジストリの操作はある程度リスキーでしたね、忘れてました。何でも慣れてきた頃が危ないですね。気をつけます。しかし今回はLinkZeroさんがいてよかったです。ありがとうございました。

  • LinkZero
  • ベストアンサー率38% (5/13)
回答No.2

これはどうでしょうか? 「休止状態のショートカット」 Win2000用ですが・・・。 自己責任でどうぞ。

参考URL:
http://win2000.nikkeibp.co.jp/tips/system/index05.shtml#6
Jasen
質問者

補足

W2kのマシンで試したら上手くいきましたが、XPでは無理なようです。スタートメニューを表示してくれたもののそれから動きませんでした。 もしかしてこれはレジストリを変えているのでしょうか?その場合、元に戻す方法はございますでしょうか?

  • hotbubu
  • ベストアンサー率22% (46/208)
回答No.1

私が質問の意味を間違っていたらごめんなさい! こんなフリーソフトを入れてショートカットをディスクトップに置いておく というのはどうですか?

参考URL:
http://www.vector.co.jp/soft/win95/util/se266333.html
Jasen
質問者

お礼

そういう手もありましたね。大変参考になりました。ありがとうございます。