壁紙変更時の注意点
自分で壁紙チェンジャーを作っていてエライ目にあったことがあります。それは「壁紙を変更する都度リソースが減っていって、Windowsが落ちる」というバグです。始めのうちは自分のプログラムが悪いのかと思っていたのですが、色々調査していくうちに他のプログラムのバグであることが発覚しました。(それも一つではない(^^;)
壁紙の変更は SystemParametersInfo APIを使ってやるのは皆さんご存知のことと思いますが、問題は一番最後の引数にあります。 SPIF_SENDWININICHANGE を指定すると全てのウインドウに WM_WININICHANGE が送られるわけですが、一部のアプリケーションではこのメッセージを受け取ると、リソースリークをしたり変な挙動をするのです。
というわけで、壁紙チェンジャーを作成する場合、このフラグは指定しない方がいいでしょう。私は最後の引数は 0 にして、壁紙のパスをレジストリに直接書き込むようにして、無用なトラブルを避けています。

今回はソースは無し(^^;

Back    Prev    Next