プログラムの実行中に電源がスリープするのを防ぐ方法をネットで紹介されている通りやってみたのですがうまくいきません。
#Region "定数"
Public Const WM_POWERBROADCAST = &H218
Public Const PBT_APMQUERYSUSPEND = &H0
Public Const BROADCAST_QUERY_DENY = &H424D5144
#End Region
#Region "オーバーライドメソッド"
Protected Overrides Sub WndProc( ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_POWERBROADCAST Then
If m.WParam.ToInt32 = PBT_APMQUERYSUSPEND Then
m.Result = New IntPtr(BROADCAST_QUERY_DENY)
Return
End If
End If
MyBase.WndProc(m)
End Sub
#End Region
調べてみると、電源がスリープする時、最初の条件m.Msg = WM_POWERBROADCAST (=536)にはなっている事が分かりましたが、
二つ目の条件 m.WParam.ToInt32 が PBT_APMQUERYSUSPEND (=0) ではなく、18になっているようです
パソコンはWindows7です。紹介の説明にもVistaの場合は上記方法ではだめと言うコメントがあるので、
Windows7でも別のやり方をやらなければならないのでしょうか、教えて下さい。
実際に試してはいませんが……。
ヘモトホのラペミマラナメツメマチトテチモヤの項目を読むと,
ミツヤ゜チミヘムユナメルモユモミナホトの代わりにモヤナモを使え,と書いてあります。
メゥ
ヘモトホコヲサラペミマラナメツメマチトテチモヤヲサヲサィラゥ
コッッョョッュッッッッウキウイエキョ
ヘモトホコヲサモヤナモヲサヲサィラゥ
コッッョョッュッッッッウキウイークョ
ディスプレイの表示が必要でなければ,
・定期的にナモ゜モルモヤナペメナムユノメナトを引数にモヤナモを呼び出す
・一度ナモ゜モルモヤナペメナムユノメナトヲサマヲサナモ゜テマホヤノホユマユモを引数にモヤナモを呼び出し,不要になった時点でナモ゜テマホヤノホユマユモを引数に呼び出す
という方法でできるように読めます。
また,ディスプレイが必要であれば,ナモ゜モルモヤナペメナムユノメナトだけでなく,ナモ゜トノモミフチル゜メナムユノメナトも同時に指定することになります。
」ヲサモヤナモはラヲサリミまたはラヲサモヲサイーーウ以降で利用できる方法になります。
なお,ユーザー操作によるスリープを妨げることは出来ません。
時間経過によるスリープを妨げることができる,というものです。
スススススススススススススススススススススススススススススススススススススススス
ニコ
トコ イーアウッーキッーケィ火ゥ ーアコイイコエカ シ スュアセシ初心者セ シッニセシノヘヌ ス「コッッョョョッッアョ「 ス「ー「セ 書込者ノト:ロ 「ィ「、 ン
ルマさん 回答ありがとうございます
残念ながら、ラプログラミングが分りません
最初の質問に書いたコードも、サンプルがあったので意味があまり分からないままやってみたのですが、
「定期的にナモ゜モルモヤナペメナムユノメナトを引数にモヤナモを呼び出す」 方法を具体的に説明して頂けませんか?
ツイート | ![]() |