いつもお世話になっています。
環境はVista、Delphi3or7、
対象の機種は富士通LooxU50、
です。
ソフトを起動すると強制的にハイバネーションに移るソフトを作りたいと思っています or そういうソフトがあればと・・・
理由なのですが、上記のパソコンでは何故か、
ハイバネーションが出来ないのです。
必ずレジュームになってしまいます。
持ち歩くときにも、バッテリーが減り続けてしまいます。
しかし、ハイバネーションはOSの仕様なので、出来ない筈は無い筈・・・
しかし、そんなソフト等を見かけないので(検索が下手なだけかも知れませんが)、作ろうと思ったわけです。
が、右も左も分からないので、質問させていただきました。
WindowsAPIを呼び出せば何とかなるかもと、
かなり甘く考えているのですが、
自作可能でしょうか??
m(__)mよろしくお願いしますm(__)m
たぶんここで聞くことじゃないと思うよ。
wshとかのスクリプトレベルで何とかなるはず。
他所のOS系の板とかで聞いてみたら?
>ソフトを起動すると強制的にハイバネーションに移るソフトを作りたいと
>思っています or そういうソフトがあればと・・・
下記のソフトは該当しますか。
http://www.altech-ads.com/product/10000022.htm
ハイバネーション=休止状態
SetSystemPowerState( False,True);
サスペンド=スタンバイ
SetSystemPowerState(True,True);
です。
皆さん素早いご回答ありがとうございますm(__)m。
自宅に帰ったら早速試してみます。
>ちょっと通りますよ さん
カテ違いだったらすいませんm(__)m。
なんと、スクリプトで何とかなってしまうのですか!?
ものすごく難しく考えてました。
でもスクリプトは全く無知なので、機会があれば勉強してみます。
>TS さん
ありがとうございます、まさにそのとおりです。
帰宅したら早速試して使ってみたいと思います。
これから作るソフトの参考にもしてみたいですm(__)m。
>Husa さん
ありがとうございます、やっぱりAPIはあったのですね。
帰宅したら頑張って作ってみます!
こんなに早く解決するとは思いませんでした。
皆さん貴重な情報を本当にありがとうございました。m(__)m
事後報告です。
PassMark Sleeper早速試してみました。
このPC(パナソニックレッツノートCF-W8)では、
S1、S3、S4が有効でした。
肝心のLookU50では、S3(レジューム)のみ可能で、
S4のハイバネーションは無理でした。
OSにハイバネーションの機能が無いみたいです。
WinAPIですが、
パナソニックレッツノートCF-W8では、レジューム、ハイバネーション共に動きました。
LookU50では、どちらも動きませんでした・・・
MicroSoftダウンロードセンターでハイバネーションの更新パッチがないか調べてみましたが、
ヒットしませんでした。
WSHは調べてみましたが、実行の仕方が分かりませんでした・・・。
今度時間を見てやってみます。
なんかDelphi掲示板から話が逸れそうですが、
ハイバネーションが実装されてないOSでハイバネーションをする方法は無いものでしょうか?
無いような気もしますが・・・。
ハードウェアが対応してないとできない機能ですから、
ソフト的にどうあがいても無理じゃないですかね。
http://ja.wikipedia.org/wiki/%E3%83%8F%E3%82%A4%E3%83%90%E3%83%8D%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3
すべてのハードウェアがACPIとプラグアンドプレイに準拠しており、デバイスドライバがプラグアンドプレイ互換である場合のみ、ハイバネーションは利用可能となる。
>なんかDelphi掲示板から話が逸れそうですが、
ハイバネーションから指定した日時になったら復帰
というのをDelphiから操作できないかなとか考えています。
そういうアプリケーションは世の中にあるのですが
どういうAPIを使えばいいのか検索してもヒットしないので挫折しています。
便乗質問になりますけどいい方法ってありますかね?
>> 休止状態からの復帰
面白そうですね、今ぱっと調べた限りではタスクスケジューラーを操作することで実現している方が居るようです。
http://128bit.blog41.fc2.com/blog-entry-25.html
暇を見てもう少し調べてみます。
まだ読んでませんが…
ACPI / Power Management - Architecture and Driver Support
http://www.microsoft.com/whdc/system/pnppwr/powermgmt/default.mspx
ACPI Notify Codes for ACPI Source Language
http://www.microsoft.com/whdc/system/pnppwr/powermgmt/ACPInotify.mspx
GPE Routing for Windows - General Purpose Event Register Wiring
http://www.microsoft.com/whdc/system/pnppwr/powermgmt/GPE_routing.mspx
>monaa さん
そうなんですか、Vistaでもハードが対応して無いとハイバネーション出来ないんですね。
何故ハイバネーションが初期状態で無いのか、利用できないのかわかりました。
諦めるしかないですね・・・TT。
>take さん
ハイレベル過ぎてついていけません・・・^^;
それが出来たら便利そうですね。
業務PCにそれ入れたら便利そう・・・。
勝手に起動、勝手にスリープ^^。
進展があったので報告します。
機種は FM-V BIBLO LOOX U/B50 WindowsVISTAです。
BIOSの設定いじってたら、ハイバネーションを有効にするオプションがありました。
有効にしたところ、スリープしてから一定時間経つと、ハイバネーションに入るようです。
で、PassMark Sleeperで実験してみました。
S1,S2は駄目でした。
S3はカウントして40秒位後に成功、
S4のハイバネーションも成功でした。
APIの、
ハイバネーション=休止状態
SetSystemPowerState( False,True);
サスペンド=スタンバイ
SetSystemPowerState(True,True);
の二つは効きませんでした。
そこで質問なのですが、
PassMark Sleeperの S3、 S4に相当する機能をDelphiで実装する方法は無いでしょうか?
よろしくお願いしますm(__)”m
誤字です。
×ハイバネーション
○サスペンド
でした。
ベクターで探したところ、まさにそれなものがありました。
Delphiのソース付で目的の機能を無事追加出来ました。
作成者さんには感謝です^^。
ツイート | ![]() |