VisualStudio2010を使用してゲームを作っている者です。OSはWindows7です。
ゲーム中、プログラムは動いていても、操作が何もなかったり、ゲームパッドを使って
いたりすると、急に節電状態になって画面が真っ暗になってしまうことがあります。
WindowsAPIか何かで、
・節電状態の設定を記録
・一時的に節電状態を封印
・プログラム終了時に節電状態の設定を戻す
ということはできるのでしょうか。
お忙しいとは存じますが、よろしくお願いします。
設定どうこういじると強制終了した時に設定がそのままって事もありそうなので
マウスをn秒に一回、+1動かして元に戻せば節電状態にならないのでは?
もしくは適当なキーイベント作成することでも多分平気です。
SetTimerで(n秒)イベント追加
GetCursorPosで現在の位置取得
SetCursorPosで縦でも横でも良いので+1してマウス移動
すぐに-1してSetCursorPosで元の位置に戻す。
通常のマウス操作より細かい移動で一瞬なので気にならないかと思いますけど。
あ、試してませんがべつに+1とか-1はいらないかも。
同じ座標にSetCursorPosでも試してみて下さい。(+1,-1は作った事あります)
ちょっと調べてみました。こっちの方がスマートですね。
スタンバイや休止状態を阻止する方法
http://msdn.microsoft.com/ja-jp/library/cc440889.aspx
連投失礼しました。
てさん、ありがとうございます。
OnTimer内で下記のようにしたら、上手くいきました。
//省電力状態にならないよう、マウスを動かし続ける
POINT p;
LPPOINT lpPoint=&p ; // カーソルの位置
GetCursorPos(lpPoint);// カーソルの位置
SetCursorPos(lpPoint->x,lpPoint->y);
ご協力感謝します。