WindowsNT4をサスペンドや休止状態にするには?


たごさく  2004-04-03 14:45:33  No: 8185  IP: 192.*.*.*

ここ使わせてもらうのはじめての初心者です
よりしくお願いします

WindowsNT4をサスペンドや休止状態させたいのですが、
やり方がわかりません

どなたか分かる方教えてください

編集 削除
とてら  2004-04-03 14:53:45  No: 8186  IP: 192.*.*.*

便乗質問

Windows9xで休止状態ってできるんですか?
できるならやりかた知ってる方教えてください

関係してそうな質問だったので便乗してしまいました

編集 削除
ふぐちゃん  2004-04-03 16:19:19  No: 8187  IP: 192.*.*.*

逆に質問なのですが、そもそも9xやNT4.0自体にサスペンドや休止の機能ってあるのですか?

編集 削除
たごさく  2004-04-03 18:20:41  No: 8188  IP: 192.*.*.*

ふぐちゃんさんへ

NT4でサスペンドや休止状態にするソフトが、
ExitWinMenuとのがあるのでできるのではと思ったんですが...
もしかしてそういう機能ないんですか?

↓ExitWinMenuのページです
http://homepage1.nifty.com/mtj-k/software/exitwin.html

編集 削除
ふぐちゃん  2004-04-03 18:42:15  No: 8189  IP: 192.*.*.*

> ExitWinMenu
サスペンドはできるようですね。
ただし、ハードウェアが対応している必要があるそうです。
休止の方は「ハードウェア+Windows2000以降」みたいです。
ReadMe.txtより。

編集 削除
にゃ〜  2004-04-04 00:31:20  No: 8190  IP: 192.*.*.*

Win2000でもWin98でも可能にゃ。にゃにゃし、NT4は知らんにゃ。
サスペンドか休止状態(ハイバネーション)を選ぶにゃは
SetSystemPowerStateの1番目の引数にゃ。

procedure TForm1.Button1Click(Sender: TObject);
var
  hToken, len : Cardinal;
  NewToken, PreToken : TTokenPrivileges;
begin
  OpenProcessToken(GetCurrentProcess, (TOKEN_QUERY or TOKEN_ADJUST_PRIVILEGES), hToken);
  LookupPrivilegeValue(nil, SE_SHUTDOWN_NAME, NewToken.Privileges[0].Luid);
  NewToken.PrivilegeCount := 1;
  NewToken.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
  AdjustTokenPrivileges(hToken, False, NewToken, SizeOf(PreToken), PreToken, len);
  SetSystemPowerState(True, True);
end;

編集 削除
ふぐちゃん  2004-04-04 00:50:56  No: 8191  IP: 192.*.*.*

> Win2000でもWin98でも可能にゃ。にゃにゃし、NT4は知らんにゃ。
にゃ〜さん、MSDNで調べてみましたが、SetSystemPowerStateの1番目の引数は
Windows Me/98/95: Ignored
だそうです。
なので、9xではサスペンドしかできないみたいですね。

編集 削除