2026/01/11(日) [n年前の日記]
#1 [visualstudio][csharp] C#でスクリーンセーバのラッパーを作ってみた
C#を使って、Windows用スクリーンセーバのラッパーを作ってみた。
スクリーンセーバとしてインストールして、設定ダイアログからフルスクリーン表示をする何かしらのプログラムを指定しておけば、そのプログラムをスクリーンセーバとして利用できるようになる。
せっかくだから github にアップロードしておいた。
_mieki256/CsSSWrap: Windows用のフルスクリーン表示プログラムをスクリーンセーバ代わりにするラッパー
VisualStudio用のプロジェクトってこういう感じにアップロードしておけばいいのだろうか…。よく分かってない…。でもまあ、これでもソース(.cs)は見れるからなんとかなるんじゃないか。
もっとも、今時スクリーンセーバを動かす人も作る人も居ないやろという気もするけど…。まあ、自分にとってC#を勉強するためのお題ということで…。
スクリーンセーバとしてインストールして、設定ダイアログからフルスクリーン表示をする何かしらのプログラムを指定しておけば、そのプログラムをスクリーンセーバとして利用できるようになる。
せっかくだから github にアップロードしておいた。
_mieki256/CsSSWrap: Windows用のフルスクリーン表示プログラムをスクリーンセーバ代わりにするラッパー
VisualStudio用のプロジェクトってこういう感じにアップロードしておけばいいのだろうか…。よく分かってない…。でもまあ、これでもソース(.cs)は見れるからなんとかなるんじゃないか。
もっとも、今時スクリーンセーバを動かす人も作る人も居ないやろという気もするけど…。まあ、自分にとってC#を勉強するためのお題ということで…。
◎ 注意点 :
フルスクリーン表示をするプログラム(.exe や .pyw等)は以下の条件を満たしていないといけない。
- 多重起動禁止処理が入っていること。
- フルスクリーン表示をすること。
- キーボードやマウスに反応して終了すること。
◎ 制作の動機 :
Python + pygame でWindows用のスクリーンセーバを作成してみたものの、Nuitkaでexe化する際の仕組みの関係か、プレビュー画面モード時の表示が遅過ぎて、これはラッパーの類を通したほうがいいのかな、せっかくだから昔作ったラッパーをパワーアップしつつ、C#の勉強も兼ねて作ってみようかと思った次第。
ただ、出来上がったファイルのサイズが大き過ぎる…。100MBを越えてる…。.NET9のランタイムが同梱されているからだけど…。大き過ぎて、github にアップロード(プッシュ)しようとしたら「ファイルサイズが100MBを越えてるからプッシュに失敗した」と表示されて…。
もっと小さいサイズで作れないものか。そのためには別の言語を使うしかないのだろうけど。
ただ、出来上がったファイルのサイズが大き過ぎる…。100MBを越えてる…。.NET9のランタイムが同梱されているからだけど…。大き過ぎて、github にアップロード(プッシュ)しようとしたら「ファイルサイズが100MBを越えてるからプッシュに失敗した」と表示されて…。
もっと小さいサイズで作れないものか。そのためには別の言語を使うしかないのだろうけど。
◎ アイコン画像で悩んだ :
スクリーンセーバのラッパーと分かりそうなアイコン画像ってどういうものを作ったらいいのか…。
Google Gemini に、どういうモチーフで作ったらええんやろと相談してみたら、「モニターを箱で囲んでみるとか、ギフトボックスにモニター入れてみるとかどうよ? 要は包む何かなわけだから」と言ってきた。なるほど…。ついでに画像生成もお願いしてみたら、アイコン画像とは程遠いリッチな画像ばかり出てきた。違うんだよなあ…。
結局 Inkscape でテキトーに作ってみたけど、なんというか、ショボい…。しかもラッパーの類とは分からない気がする…。
Google Gemini に、どういうモチーフで作ったらええんやろと相談してみたら、「モニターを箱で囲んでみるとか、ギフトボックスにモニター入れてみるとかどうよ? 要は包む何かなわけだから」と言ってきた。なるほど…。ついでに画像生成もお願いしてみたら、アイコン画像とは程遠いリッチな画像ばかり出てきた。違うんだよなあ…。
結局 Inkscape でテキトーに作ってみたけど、なんというか、ショボい…。しかもラッパーの類とは分からない気がする…。
[ ツッコむ ]
以上です。