ホーム 院内・スタッフ紹介 診療時間・アクセス フォトギャラリー
0574-27-6355

院長のメモ帖

2013年2月 1日 金曜日

Connected StandbyはSetThreadExecutionStateで阻止できない

<追記>
 SetThreadExecutionStateにSystemRequiredではなくDisplayRequiredを渡すとConnected Standbyを阻止できました。詳しくはこちらで


 最近、富士通のWindows8防水タブレット、Arrows Tab Wifi QH55を購入しました。このタブレットは、Windows8パソコンとしては最軽量クラスで、しかもお風呂で使えるということで非常に重宝しています。そのうちレビューしようかなと思っていたんですが、自作のプログラムを走らせていてあることに気が付きました。それは、このPCのスリープは、SetThreadExecutionStateメソッドで阻止できないことです。

 動作中はスリープしないプログラムを自作していたのですが、Arrows Tabでは、スリープしてしまいます。そこで、Microsoft.Win32.SystemEvents.PowerModeChangedイベントをフックして、電源モードの変化を記録してたうえでスリープボタンを押してみると、他のPCではスリープレジュームイベントが記録されるのに、Arrows Tabでは、このイベントが発生していませんでした。

 このPCはWindows8で新しく実装されたConnected Standbyに対応していて、いままでのS3, S4ではなくS0i1、S0i3という待機状態になります。この状態ではOSは動いていてるままだそうです。推測ですが、この状態への移行は今までのスリープとは内部的な動作が全く違うので、ExecutionStateは参照されないと思われます。

 Connected Standbyを阻止するには、今まで違うコードが必要なようで、いろいろ調べてみるしかなさそうですね。



投稿者 美濃加茂市のIT獣医師 近藤 博 | コメント(0)

コメントする

名前:

メールアドレス:

コメント:

カレンダー

2022年3月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

新着情報

一覧を見る

2022/04/05

4/5(火)、午前の診察を休診します。
診察は午後4時からになります。
ご迷惑をおかけして申し訳ありません。

2022/04/08

4/8(金)、午前の診察を休診します。
診察は午後4時からになります。
ご迷惑をおかけして申し訳ありません。

2022/04/13

4/13(水)、診察を休診します。
ご迷惑をおかけして申し訳ありません。


大きな地図で見る〒505-0031
岐阜県 美濃加茂市新池町
1-8-28

お問い合わせ 詳しくはこちら
  • RSS配信
  • RSSヘルプ