急に
スクリーンセーバを作りたくなりました。
えー、そりゃぁもう突然に…
でも
作った事ないんですよね。
初体験、って奴ですか。
さて
んじゃ、ネットで調べてむにゃむにゃすればオッケーでしょう。
で、むにゃむにゃしました!
本題
作りましたよー
スクリーンセーバモードとプレビューモードとオプションモードを実装したり、とか
AnyCPUで作んないと駄目だよ~、とか
二重起動防止にMutex使いましょう、とか
もろもろ実装してさ
最終的に拡張子を.scr
にしてc:\Windows\System32
の下に置いてスクリーンセーバ設定を開いて選択!
おー、小窓プレビューが動いてるー
プレビューボタンで全画面スクリーンセーバもばっちり!
じゃぁ、取り敢えず待ち時間を1分にして「適用」ボタン押して待機。
わくわく…
どきどき…
わくわく…
………
1分って長いなぁ…
で、いよいよその時が来ました。
チラッ、と画面がフリッカして…
終了~~~
なんでだよー
結果
結構悩みましたが、結局原因は「Mutex」でした。
恐らく、小窓プレビューでMutex確保してしまっているので、本チャンのスクリーンセーバがMutex取れずに終了してしまうという…
でも疑問点が一つ。
小窓プレビュー表示してても「プレビュー」ボタンで実行されるスクリーンセーバは動くんだよなー
そもそもスクリーンセーバを誰がどうやって多重起動するんだよー
と云う事で、Mutexは放棄。
で、綺麗に動くようになりました。
何でみんなMutexが必要って書いてあるんだろ?
とても大事な理由があるんだろうか?
私には思いつきませんでした…
よ。