掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スタンバイ状態からのタイマー復帰後の画面 (ID:21974)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
スタンバイ状態よりタイマーにより自動復帰するプログラムを 書いています。 一点納得がいかないことがあります。 休止状態からの復帰は大丈夫ですが、 スタンバイ状態からの復帰をしますと電源は復帰しますが、 ハードディスクランプが点滅状態で、画面が真っ黒のままなのです。 マウスを少し動かすと画面が表示される状況で、 復帰と同時に画面表示されません。 休止状態はうまくいくのですが、プログラム上どこが違うのでしょうか? どなたかアドバイスいたけませんでしょうか? // スタンバイルーチン function standby(aStandby :Boolean) {True:スタンバイ False:休止状態} :Boolean; {True:成功} var hToken, len :Cardinal; NewToken, PreToken :TTokenPrivileges; begin Result := False; if OpenProcessToken(GetCurrentProcess, (TOKEN_QUERY or TOKEN_ADJUST_PRIVILEGES), hToken) then begin 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); if (GetLastError = ERROR_SUCCESS) then Result := SetSystemPowerState(aStandby, True); end; end; : : // 実行部分 if SetWaitableTimer(hTimer, pLargeInteger^{largeInteger}, 0{INTERVAL_MSEC}, nil, nil, True{回復}) then begin {スタンバイまたは休止} if standby(aStandby) then begin {タイマーを監視して待機状態に入ります} dwResult := WaitForSingleObjectEx(hTimer, INFINITE{待機し続ける}, False{True制御を返す}); 以上よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.