C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

スリープを阻害したい

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■84730 / inTopicNo.1)  スリープを阻害したい
  
□投稿者/ やんまー (1回)-(2017/07/31(Mon) 12:07:56)

分類:[VB.NET/VB2005 以降] 

2017/07/31(Mon) 12:08:33 編集(投稿者)

スリープを阻害したい
おそれいります。
自動でスリープになるように設定しています。
ところがたまに、スリープしてほしくないときがあります。

・ゲームをUSBコントローラーでやっている
・ちょっと大きめなファイルをダウンロードしてる
・sshでサーバーに接続して時間のかかる処理をしている

こういうときにわざわざ電源オプションを開いてスリープになる時間を1時間とかに変更しています。

でも、これだとめんどくさすぎるので、スリープを阻害するだけのWinアプリが作れないか?と思いました。
そのexeを起動している間はスリープせず、閉じればもとに戻る、という感じです。

こういうことが可能になりそうな方法があったら教えてください。

または、ぶっちゃけ、そういうソフトが有るのならそれでもいいです・・・。

よろしくお願いします!
引用返信 編集キー/
■84731 / inTopicNo.2)  Re[1]: スリープを阻害したい
□投稿者/ Hongliang (559回)-(2017/07/31(Mon) 12:27:05)
Media Playerで動画再生しておくとかどうでしょう。
引用返信 編集キー/
■84732 / inTopicNo.3)  Re[1]: スリープを阻害したい
□投稿者/ shu (1043回)-(2017/07/31(Mon) 12:27:19)
No84730 (やんまー さん) に返信
>
> こういうときにわざわざ電源オプションを開いてスリープになる時間を1時間とかに変更しています。
>
これはPowerShellを使えば変更出来ると思うので、アプリ起動と終了時に設定を変更するようにすると
なんとかなりそうな気がします。

powercfg.exeを使うのもよいかもしれません。
引用返信 編集キー/
■84734 / inTopicNo.4)  Re[2]: スリープを阻害したい
□投稿者/ やんまー (2回)-(2017/07/31(Mon) 12:59:04)
No84731 (Hongliang さん) に返信
> Media Playerで動画再生しておくとかどうでしょう。

MediaPlayerが起動してるとスリープしないんですね!?
起動してるだけではだめで、動画再生しないとだめでしょうか??
引用返信 編集キー/
■84735 / inTopicNo.5)  Re[2]: スリープを阻害したい
□投稿者/ やんまー (3回)-(2017/07/31(Mon) 13:01:14)
No84732 (shu さん) に返信
> ■No84730 (やんまー さん) に返信
>>
>>こういうときにわざわざ電源オプションを開いてスリープになる時間を1時間とかに変更しています。
>>
> これはPowerShellを使えば変更出来ると思うので、アプリ起動と終了時に設定を変更するようにすると
> なんとかなりそうな気がします。
>
> powercfg.exeを使うのもよいかもしれません。

ありがとうございます。
設定を変えてしまうと、今度は戻すのを忘れてしまいがちなので、exeを終了させるだけでもとに戻ったほうがありがたいので、お聞きしてみた次第です。
よろしくお願いします
引用返信 編集キー/
■84736 / inTopicNo.6)  Re[3]: スリープを阻害したい
□投稿者/ ぶなっぷ (119回)-(2017/07/31(Mon) 13:02:33)
こんなのはどう?

http://variedtastefinder.jp/blog/?p=1567

引用返信 編集キー/
■84739 / inTopicNo.7)  Re[4]: スリープを阻害したい
□投稿者/ 774RR (553回)-(2017/07/31(Mon) 14:31:38)
既にコメントがあるけど(コメントのリンク先)

省電力モードに入らないだけ(スクリーンセーバーにはなってよい)であれば SetThreadExecutionState
スクリーンセーバーに入って欲しくないなら SendInput (でマウスを0移動)

PC をウチの組み込み機器のデータ通信ロガーとして使うとき、
ログソフトの初期化時に SetThreadExecutionState(ES_CONTINUOUS|ES_SYSTEM_REQUIRED);
/*終了時に SetThreadExecutionState(ES_CONTINUOUS);*//*プロセス終了で効果を失うのでなくてよい */
として問題ないよ。省電力モードにはならずに正しくスクリーンセーバーには入る。

C# で作るなら DllImport して使うと良い。

引用返信 編集キー/
■84748 / inTopicNo.8)  Re[4]: スリープを阻害したい
□投稿者/ やんまー (4回)-(2017/07/31(Mon) 23:47:20)
No84736 (ぶなっぷ さん) に返信
> こんなのはどう?
>
> http://variedtastefinder.jp/blog/?p=1567

ありがとうございます。
厳密には無理になっているのですね。
マウスをちょっと動かすっていうのは、
実は大昔やったことがあった方法でした^^;

とても参考になります。一度コンパイルして動かしてみようと思います!
引用返信 編集キー/
■84749 / inTopicNo.9)  Re[5]: スリープを阻害したい
□投稿者/ やんまー (5回)-(2017/07/31(Mon) 23:48:39)
No84739 (774RR さん) に返信
> 既にコメントがあるけど(コメントのリンク先)
>
> 省電力モードに入らないだけ(スクリーンセーバーにはなってよい)であれば SetThreadExecutionState
> スクリーンセーバーに入って欲しくないなら SendInput (でマウスを0移動)
>
> PC をウチの組み込み機器のデータ通信ロガーとして使うとき、
> ログソフトの初期化時に SetThreadExecutionState(ES_CONTINUOUS|ES_SYSTEM_REQUIRED);
> /*終了時に SetThreadExecutionState(ES_CONTINUOUS);*//*プロセス終了で効果を失うのでなくてよい */
> として問題ないよ。省電力モードにはならずに正しくスクリーンセーバーには入る。
>
> C# で作るなら DllImport して使うと良い。
>

更に詳しくありがとうございます!

いちどコンパイルしてみます!
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ