節電状態になることを一時的に止めたい – プログラミング – Home

節電状態になることを一時的に止めたい
 
通知
すべてクリア

[解決済] 節電状態になることを一時的に止めたい


mk
 mk
(@mk)
ゲスト
結合: 24年前
投稿: 66
Topic starter  

VisualStudio2010を使用してゲームを作っている者です。OSはWindows7です。

ゲーム中、プログラムは動いていても、操作が何もなかったり、ゲームパッドを使って
いたりすると、急に節電状態になって画面が真っ暗になってしまうことがあります。

WindowsAPIか何かで、

・節電状態の設定を記録
・一時的に節電状態を封印
・プログラム終了時に節電状態の設定を戻す

ということはできるのでしょうか。

お忙しいとは存じますが、よろしくお願いします。


引用未解決
トピックタグ
て
 て
(@て)
ゲスト
結合: 18年前
投稿: 4
 

設定どうこういじると強制終了した時に設定がそのままって事もありそうなので
マウスをn秒に一回、+1動かして元に戻せば節電状態にならないのでは? 
もしくは適当なキーイベント作成することでも多分平気です。

SetTimerで(n秒)イベント追加
GetCursorPosで現在の位置取得
SetCursorPosで縦でも横でも良いので+1してマウス移動
すぐに-1してSetCursorPosで元の位置に戻す。
通常のマウス操作より細かい移動で一瞬なので気にならないかと思いますけど。


返信引用
て
 て
(@て)
ゲスト
結合: 18年前
投稿: 4
 

あ、試してませんがべつに+1とか-1はいらないかも。
同じ座標にSetCursorPosでも試してみて下さい。(+1,-1は作った事あります)


返信引用
て
 て
(@て)
ゲスト
結合: 18年前
投稿: 4
 

ちょっと調べてみました。こっちの方がスマートですね。
スタンバイや休止状態を阻止する方法
http://msdn.microsoft.com/ja-jp/library/cc440889.aspx
連投失礼しました。


返信引用
mk
 mk
(@mk)
ゲスト
結合: 24年前
投稿: 66
Topic starter  

てさん、ありがとうございます。
OnTimer内で下記のようにしたら、上手くいきました。

//省電力状態にならないよう、マウスを動かし続ける
POINT p;
LPPOINT lpPoint=&p ; // カーソルの位置
GetCursorPos(lpPoint);// カーソルの位置
SetCursorPos(lpPoint->x,lpPoint->y);

ご協力感謝します。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました