.NET/スリープの抑止、モニター電源オフの抑止のサンプルコード
の編集
Top
/
.NET
/
スリープの抑止、モニター電源オフの抑止のサンプルコード
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
.NET
.NET/.NETでpingを実現する・System.Net.NetworkInformation.Ping
.NET/ARPテーブルを取得し表示するサンプル・GetIpNetTable
.NET/CPUコア毎の使用率を取得する
.NET/CPU使用率を取得する
.NET/DateとDateTimeの違い
.NET/HttpClientを使って指定したURLのページを取得する
.NET/IPv4からMACアドレス取得する・SendARP
.NET/IPアドレスからホスト名を取得するサンプルコード
.NET/ListのStringをカンマ区切りにする方法
.NET/Listを配列に配列をListに変換する
.NET/NET6.0でSQLiteを使ってみた Microsoft.Data.Sqlite
.NET/ODBCを使用してデータベースに接続しSQLを実行するサンプル
.NET/String.Splitで空要素を残す、空要素を削除するオプションについて
.NET/StringBuilderをバイト配列に変換する
.NET/Stringの配列をCSVにする方法
.NET/UNIX時間への変換・DateTimeOffset
.NET/UNIX時間をDateTimeOffset, DateTimeにする
.NET/Web APIからJSONを取得し値を表示する・DataContractJsonSerializer
.NET/WMIを使って物理メモリ・仮想メモリの使用量等を取得する
.NET/アルファベットを大文字、小文字に変換する
.NET/インストールされているODBCドライバ一覧を取得するサンプル
.NET/コンソールプログラムからトースト通知をするサンプル
.NET/サスペンド前・復帰の時に処理を行いたい
.NET/スペースのみの文字列、空の文字列、サイズ0の文字列を判定する
.NET/スリープの抑止、モニター電源オフの抑止のサンプルコード
.NET/ターゲットにしている.NETを確認する操作手順
.NET/テキストファイルの読込・ReadAllText,ReadAllLines
.NET/テキストファイルの読込・StreamReader
.NET/テンポラリファイルの作成・ランダムな文字列の作成を作成する
.NET/テンポラリファイル名を取得する・GetRandomFileName
.NET/ディレクトリの有無を確認する
.NET/ネットワークカードの各種情報を取得するサンプルコード
.NET/バイト配列にファイルの内容をすべて読み込む
.NET/バイナリーファイルの作成・リード・ライト
.NET/ファイルなの?ディレクトリなの?の判別
.NET/ファイルの有無を確認する
.NET/ファイル一覧を取得する・GetFiles,EnumerateFiles
.NET/プログラムに渡された引数を取得する方法
.NET/ユーザーが無操作の状態を取得する・GetLastInputInfo
.NET/三項演算子のサンプルコード
.NET/四捨五入をするときはMidpointRounding.AwayFromZeroにすること
.NET/指定した時間間隔でイベントを発行する・Timer
.NET/数値を指定した桁数分ゼロで埋めたい・ToString
.NET/文字列(String)を左右逆転し文字列(String)で返却する方法
.NET/文字列をバイト配列に変換・バイト配列を文字列に変換
.NET/文字列を区切り文字で分割する方法・Split
.NET/文字列宣言の先頭の@について
.NET/文字列数値を指定した桁数分ゼロで埋めたい・PadLeft
.NET/文字列日付をDateTimeに変換する
.NET/文字列配列orList配列に指定した文字列が存在するかを確認する方法
.NET/時間(日数+時間)が格納できるTimeSpan
.NET/月末の日を取得する方法・DaysInMonth
.NET/現在の日時を取得する
.NET/符号付バイトsbyte,符号なしbyteをintegerに変換する
.NET/管理者として実行されているかどうか確認するサンプルコード
.NET/連想配列(ハッシュ)のキーと値を取得する
.NET/連想配列(ハッシュ)を使ってみる・Dictionary
.NET/閏年かを調べる方法
AutoTicketLinkName
FrontPage
MenuBar
OSS
OSS/XYM日本円価格(シンボル日本円価格 (XYMJPYPrice)
OSS/ビットコイン日本円価格(ビットコイン日本円価格 (BitcoinJPYPrice)
RecentDeleted
VS
VS/Debug.Writeをイミディエイトウィンドウに出力する方法
VS/Visual Studio 2022に Spy++をインストールする手順
VS/VS2022の配色テーマの変更操作
VS/XAML編集に使うツールボックスの再表示する操作手順
VS/インデントなどコードを整形するショートカットの紹介
VS/コメントにするショートカットキー
VS/ショートカットキーで大文字・小文字に変換する
VS/ビルド中に中断したい場合の操作手順
WPF
WPF/DataGridを使ってみる
WPF/起動してもMainWindowを表示したくない場合
お約束
プライバシーポリシー
最初にお読みください
#navi(../) * スリープの抑止、モニター電源オフの抑止のサンプルコード [#c143832d] WinAPIの''SetThreadExecutionState''を使って、スリープの抑止(モニターの電源はオフされます)や~ モニター電源オフの抑止をするコンソールアプリケーションのサンプルコードを以下に記します。 #contents #htmlinsert(windev-top.html) * サンプルコードを使ったソースを公開 [#z22bda3a] 本サンプルコードを元に通知エリアに常駐する [[PreventZzz>https://github.com/oss-sakura/PreventZzz]] をオープンソースで公開していますので参考にしてください。~ >''GitHub PreventZzz''~ https://github.com/oss-sakura/PreventZzz #ref(Zzz.png) * 動作確認環境 [#x517bb60] -Windows 10 ver.21H1 -Visual Studio 2019 -.NET Framework 4.7.2 * サンプルコードの説明 [#q3e1826a] C#, Visual Basic(VB)ともにSetThreadExecutionState APIを使った3つの関数(メソッド)を実装しています。 + PreventMonitorPowerOff~ モニターの電源オフを抑止します。~ モニターが電源オフされませんので、スリープももちろん抑止されます。 + PreventSleep~ スリープが抑止されます。~ モニターの電源オフは抑止されません。 + Reset~ PreventMonitorPowerOff, PreventSleep で設定した抑止を解除します。 ** 使い方 [#n9f95156] 起動すると以下のメッセージが表示されますので、対応する数字キーを押してください。 - 1.スリープの抑止(モニターはオフされます) - 2.モニターオフの抑止(スリープも抑止されます) - 3.抑止の解除 - 9.終了 * サンプルコード [#pef5cb18] 以下にC#, Visual Basic(VB)のサンプルコードを記します。 ** C# [#u7e24a99] using System; class Program { static void Main(string[] args) { Console.WriteLine("1.スリープの抑止(モニターはオフされます)"); Console.WriteLine("2.モニターオフの抑止(スリープも抑止されます)"); Console.WriteLine("3.抑止の解除"); Console.WriteLine("9.終了"); for (; ; ) { Console.Write("> "); ConsoleKeyInfo sel = Console.ReadKey(); if (sel.Key == ConsoleKey.D9) break; switch (sel.Key) { case ConsoleKey.D1: Win32ApiExecutionState.PreventSleep(); break; case ConsoleKey.D2: Win32ApiExecutionState.PreventMonitorPowerOff(); break; case ConsoleKey.D3: Win32ApiExecutionState.Reset(); break; default: Console.Write(" <-?"); break; } Console.WriteLine(); if (ConsoleKey.D9 == sel.Key) break; // exit for } } } public static class Win32ApiExecutionState { [System.Runtime.InteropServices.DllImport("kernel32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)] static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags); [FlagsAttribute] public enum EXECUTION_STATE : uint { ES_SYSTEM_REQUIRED = 0x00000001, ES_DISPLAY_REQUIRED = 0x00000002, ES_AWAYMODE_REQUIRED = 0x00000040, ES_CONTINUOUS = 0x80000000, } public static void PreventMonitorPowerOff() { SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS | EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_SYSTEM_REQUIRED); } public static void PreventSleep() { SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS | EXECUTION_STATE.ES_SYSTEM_REQUIRED); } public static void Reset() { SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS); } } ** Visual Basic(VB) [#d634fefb] Imports System Imports System.Runtime.InteropServices Module Module1 <FlagsAttribute> Public Enum EXECUTION_STATE As UInteger ES_SYSTEM_REQUIRED = &H1 ES_DISPLAY_REQUIRED = &H2 ES_AWAYMODE_REQUIRED = &H40 ES_CONTINUOUS = &H80000000UI End Enum <DllImport("kernel32.dll")> Function SetThreadExecutionState(esFlags As EXECUTION_STATE) As EXECUTION_STATE End Function Sub Main() Console.WriteLine("1.スリープの抑止(モニターはオフされます)") Console.WriteLine("2.モニターオフの抑止(スリープも抑止されます)") Console.WriteLine("3.抑止の解除") Console.WriteLine("9.終了") While True Console.Write("> ") Dim sel As ConsoleKeyInfo = Console.ReadKey() If sel.Key = ConsoleKey.D9 Then Exit While Select Case sel.Key Case ConsoleKey.D1 PreventSleep() Case ConsoleKey.D2 PreventMonitorPowerOff() Case ConsoleKey.D3 Reset() Case Else Console.Write(" <-?") End Select Console.WriteLine() If ConsoleKey.D9 = sel.Key Then Exit While End While End Sub Sub PreventMonitorPowerOff() SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS Or EXECUTION_STATE.ES_DISPLAY_REQUIRED Or EXECUTION_STATE.ES_SYSTEM_REQUIRED) End Sub Sub PreventSleep() SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS Or EXECUTION_STATE.ES_SYSTEM_REQUIRED) End Sub Sub Reset() SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS) End Sub End Module 以上、SetThreadExecutionState API を使ってスリープ、モニタオフの抑止を行うサンプルコードでした。 #htmlinsert(windev-btm.html)
タイムスタンプを変更しない
#navi(../) * スリープの抑止、モニター電源オフの抑止のサンプルコード [#c143832d] WinAPIの''SetThreadExecutionState''を使って、スリープの抑止(モニターの電源はオフされます)や~ モニター電源オフの抑止をするコンソールアプリケーションのサンプルコードを以下に記します。 #contents #htmlinsert(windev-top.html) * サンプルコードを使ったソースを公開 [#z22bda3a] 本サンプルコードを元に通知エリアに常駐する [[PreventZzz>https://github.com/oss-sakura/PreventZzz]] をオープンソースで公開していますので参考にしてください。~ >''GitHub PreventZzz''~ https://github.com/oss-sakura/PreventZzz #ref(Zzz.png) * 動作確認環境 [#x517bb60] -Windows 10 ver.21H1 -Visual Studio 2019 -.NET Framework 4.7.2 * サンプルコードの説明 [#q3e1826a] C#, Visual Basic(VB)ともにSetThreadExecutionState APIを使った3つの関数(メソッド)を実装しています。 + PreventMonitorPowerOff~ モニターの電源オフを抑止します。~ モニターが電源オフされませんので、スリープももちろん抑止されます。 + PreventSleep~ スリープが抑止されます。~ モニターの電源オフは抑止されません。 + Reset~ PreventMonitorPowerOff, PreventSleep で設定した抑止を解除します。 ** 使い方 [#n9f95156] 起動すると以下のメッセージが表示されますので、対応する数字キーを押してください。 - 1.スリープの抑止(モニターはオフされます) - 2.モニターオフの抑止(スリープも抑止されます) - 3.抑止の解除 - 9.終了 * サンプルコード [#pef5cb18] 以下にC#, Visual Basic(VB)のサンプルコードを記します。 ** C# [#u7e24a99] using System; class Program { static void Main(string[] args) { Console.WriteLine("1.スリープの抑止(モニターはオフされます)"); Console.WriteLine("2.モニターオフの抑止(スリープも抑止されます)"); Console.WriteLine("3.抑止の解除"); Console.WriteLine("9.終了"); for (; ; ) { Console.Write("> "); ConsoleKeyInfo sel = Console.ReadKey(); if (sel.Key == ConsoleKey.D9) break; switch (sel.Key) { case ConsoleKey.D1: Win32ApiExecutionState.PreventSleep(); break; case ConsoleKey.D2: Win32ApiExecutionState.PreventMonitorPowerOff(); break; case ConsoleKey.D3: Win32ApiExecutionState.Reset(); break; default: Console.Write(" <-?"); break; } Console.WriteLine(); if (ConsoleKey.D9 == sel.Key) break; // exit for } } } public static class Win32ApiExecutionState { [System.Runtime.InteropServices.DllImport("kernel32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)] static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags); [FlagsAttribute] public enum EXECUTION_STATE : uint { ES_SYSTEM_REQUIRED = 0x00000001, ES_DISPLAY_REQUIRED = 0x00000002, ES_AWAYMODE_REQUIRED = 0x00000040, ES_CONTINUOUS = 0x80000000, } public static void PreventMonitorPowerOff() { SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS | EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_SYSTEM_REQUIRED); } public static void PreventSleep() { SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS | EXECUTION_STATE.ES_SYSTEM_REQUIRED); } public static void Reset() { SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS); } } ** Visual Basic(VB) [#d634fefb] Imports System Imports System.Runtime.InteropServices Module Module1 <FlagsAttribute> Public Enum EXECUTION_STATE As UInteger ES_SYSTEM_REQUIRED = &H1 ES_DISPLAY_REQUIRED = &H2 ES_AWAYMODE_REQUIRED = &H40 ES_CONTINUOUS = &H80000000UI End Enum <DllImport("kernel32.dll")> Function SetThreadExecutionState(esFlags As EXECUTION_STATE) As EXECUTION_STATE End Function Sub Main() Console.WriteLine("1.スリープの抑止(モニターはオフされます)") Console.WriteLine("2.モニターオフの抑止(スリープも抑止されます)") Console.WriteLine("3.抑止の解除") Console.WriteLine("9.終了") While True Console.Write("> ") Dim sel As ConsoleKeyInfo = Console.ReadKey() If sel.Key = ConsoleKey.D9 Then Exit While Select Case sel.Key Case ConsoleKey.D1 PreventSleep() Case ConsoleKey.D2 PreventMonitorPowerOff() Case ConsoleKey.D3 Reset() Case Else Console.Write(" <-?") End Select Console.WriteLine() If ConsoleKey.D9 = sel.Key Then Exit While End While End Sub Sub PreventMonitorPowerOff() SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS Or EXECUTION_STATE.ES_DISPLAY_REQUIRED Or EXECUTION_STATE.ES_SYSTEM_REQUIRED) End Sub Sub PreventSleep() SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS Or EXECUTION_STATE.ES_SYSTEM_REQUIRED) End Sub Sub Reset() SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS) End Sub End Module 以上、SetThreadExecutionState API を使ってスリープ、モニタオフの抑止を行うサンプルコードでした。 #htmlinsert(windev-btm.html)
テキスト整形のルールを表示する
添付ファイル:
Zzz.png
113件
[
詳細
]