2012-08-11 26 views
10

自分のプログラムからWindowsプラットフォームの画面を暗くすることを検討してきました。私はこれを可能にするSetMonitorBrightness APIがあることを知っていますが、私の問題は、Windows XPでも(APIがサポートしていない)画面を薄暗くすることができ、デスクトップコンピュータの画面を暗くすることができればうれしいことです。WindowsでC++の暗い画面

私はいくつかの調査を行い、問題なくWindows XPデスクトップの画面を暗くするように見えるthis utilityを見つけました。私は彼らが調光器をどのように実装したかを知るために作者に連絡しようとしましたが、私はそれらから戻って聞きませんでした。

私はこのサイトのデベロッパーから聞いたことがありますが、SetMonitorBrightness APIがサポートされていない場合、どのように画面を暗くすることができたと思いますか?

PS。私は中小企業のための省エネルギープログラムを作成しようとしている初心者の開発者です。これは非営利団体であり、私たちはこれを行うためにWindows開発者を雇うための資金を持っていません。私のコンピュータのほとんどはWindows XPのデスクトップですので、Web上に広く記載されているように私はSetMonitorBrightness APIを使うことはできません。

ありがとうございます。

答えて

3

この情報が古くなったら私に許してください。しかし、私は過去にSetDeviceGammaRampを使ってこれを行っています。 'Get'バージョンは状態の保存と復元にも使用できます。私はそれがC#プログラムで使用されているのを見ました。だから、もはやそれほど一般的ではありませんが、依然として関連性があるかもしれません。

+0

非常にいいです。ありがとうございました!私はそれを試してみる必要があります。私の唯一の関心事は、APIの記述に「すべてのダイレクトカラービデオボードがロード可能なガンマランプをサポートするわけではない」ということです。 – c00000fd

4

あなたが引用する場合は、Dependancy Walkerでスクリーンセーバーを見てください。私の推測では、フルスクリーンウィンドウを作成し、SetLayeredWindowAttributes()を使用してウィンドウの半不透明な設定を行うことで、画面を淡色表示にします。私はそれがあなたに多くのお金を節約するだろうとは思わない。

DDC protocolを調べると、一部のモニターの機能を制御できます。あなたがこれを行えるようにするMS APIはここではラウンドアバウトで見つけることができます:http://msdn.microsoft.com/en-us/library/windows/hardware/ff570290%28v=vs.85%29.aspxそしてI2C関数も見てください。

また、http://www.nicomsoft.com/products/i2c/のように、DDC用の準備が整ったライブラリを探すこともできます。彼らはまた、個人的な使用のために自由であり、商業的使用のために非自由である調光器のアプリケーションを持っています。彼らは、あなたがそれらに連絡し、それが非営利組織のためにそれを説明するなら、あなたが無料でそれを使用することを許可するかもしれません。

省エネルギープログラムとしてこれを実行しようとしているのであれば、一定期間のアイドル状態の後にモニターをオフにするスクリーンセーバー設定を使用しないのはなぜですか?いずれにしても

+0

ありがとうございます。あなたが説明したようなSetLayeredWindowAttributes()の使用については考えていませんでした。しかし、より暗い(黒い)ピクセルを表示しないと、より少ないエネルギーを使用するための画面が必要になるでしょうか? – c00000fd

+0

あなたの質問に答えるために、なぜ私はモニターをオフにしないのでしょうか?画面に表示する必要があるデータを出力する特殊なソフトウェアがあるので、N分間の非アクティブ後に画面を暗くしたいオペレータは100%に戻るマウスを移動します。 – c00000fd

+0

@ user843732:エネルギー消費は少なくなるかもしれませんが、確かに知っている唯一の方法は、それを試して消費電力を測定することです。ピクセルの不透明度を変更しても、必ずしもバックライトの明るさが変わるわけではありません。明るさを上げ、黒を灰色で表示するディスプレイを考えてみましょう。多くのLCDスクリーンは、単一のバックライト輝度制御しか有しておらず、いくつかはセグメント化されているが、ピクセル単位ではほとんどない(何もない)。あなたのアプリケーションに関しては、面白いと思われます。あなたはそれが働くことを望みます。 – tinman

関連する問題