今週のお題が「テスト」って、なんだよそれ。
今、拙作Meiryo UIも大っきらい!!のテスト版出したばっかだったりするだな。
今回のテスト版は今までのバージョンでフォント設定が行われない場合に備えてフォント設定処理を変更した訳だが、正直これでよいのかわからないのでテスト版扱いにしたというわけである。
実際に何を行ったかというと、第一引数にSPI_SETNONCLIENTMETRICSを指定したSystemParametersInfo APIを別スレッドで実行するように変更している。
なんで、こんな変なことを行ったかというと、SetPoint等の常駐プログラムによってはアイコン以外のシステムフォントの設定を変更する第一引数にSPI_SETNONCLIENTMETRICSを指定したSystemParametersInfo APIがシステムの設定および、レジストリを変更しているにも関わらず処理を返さないという現象が発生しているので、WM_SETTINGCHANGEメッセージのSendMessageを何とか実行すべくSystemParametersInfo APIを別スレッドで実行した後、応答を返さない場合はお構いなしにWM_SETTINGCHANGEメッセージのSendMessageを行うようにしたというわけである。
自分のところではうまくいったけど、他でうまくいくかどうかはわからないのでとりあえず、テスト版にしたというわけである。うまく動けばよいのだが。
それにしても、SetPoint等の常駐プログラムがいる状態でアイコンのフォント設定はうまくできるのにそれ以外のフォントの設定がうまくいかないというのは何なんだろう。