LoginSignup
0
0

More than 5 years have passed since last update.

スクリーンセーバの怪…

Posted at

急に

スクリーンセーバを作りたくなりました。
えー、そりゃぁもう突然に…

でも

作った事ないんですよね。
初体験、って奴ですか。

さて

んじゃ、ネットで調べてむにゃむにゃすればオッケーでしょう。
で、むにゃむにゃしました!

本題

作りましたよー
スクリーンセーバモードとプレビューモードとオプションモードを実装したり、とか
AnyCPUで作んないと駄目だよ~、とか
二重起動防止にMutex使いましょう、とか
もろもろ実装してさ

最終的に拡張子を.scrにしてc:\Windows\System32の下に置いてスクリーンセーバ設定を開いて選択!
おー、小窓プレビューが動いてるー
プレビューボタンで全画面スクリーンセーバもばっちり!

じゃぁ、取り敢えず待ち時間を1分にして「適用」ボタン押して待機。
わくわく…
どきどき…
わくわく…
………
1分って長いなぁ…


で、いよいよその時が来ました。
チラッ、と画面がフリッカして…
終了~~~


なんでだよー

結果

結構悩みましたが、結局原因は「Mutex」でした。
恐らく、小窓プレビューでMutex確保してしまっているので、本チャンのスクリーンセーバがMutex取れずに終了してしまうという…

でも疑問点が一つ。
小窓プレビュー表示してても「プレビュー」ボタンで実行されるスクリーンセーバは動くんだよなー

そもそもスクリーンセーバを誰がどうやって多重起動するんだよー
と云う事で、Mutexは放棄。

で、綺麗に動くようになりました。
何でみんなMutexが必要って書いてあるんだろ?
とても大事な理由があるんだろうか?
私には思いつきませんでした…

よ。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0