2026/01/08(木) [n年前の日記]
#1 [visualstudio] C#でスクリーンセーバを作成できそうか実験中
以下のページを写経しながら、C#でスクリーンセーバを作成できそうか試しているところ。環境は、Windows10 x64 22H2 + VisualStudio 2022 Community + C#。
_Creating a Screen Saver with C#
なんとなく分かってきたことをメモ。
メモしていて気付いたけれど、全画面表示モードとプレビュー画面モードは、それぞれ別のフォームを作っておいて対応しちゃってもいいのでは…。1つのフォームでどちらにも対応させなくてもいいのではないか…。
でも、一般的には両モードで同じ描画をするから、同じフォームを使うほうが都合がいいのか。もっとも今回、プレビュー画面モードは画像か文字列を描画するだけにしたいので、別フォームでもいいよな…。
_Creating a Screen Saver with C#
なんとなく分かってきたことをメモ。
- C#でスクリーンセーバを作る時は、Windowsフォームアプリを選んでプロジェクトを作るっぽい。
- その場合、あらかじめフォーム(Form1.cs) が1つ用意されているけれど、これを全画面表示したり、プレビュー画面モードで表示してスクリーンセーバを実装できる。
- Program.cs の中に main() があるので、main(string[] args) にして、コマンドライン引数を取得できるようにする。
- main(string[] args) の中で、「/s」「/p HWND」「/c:HWND」等を判別して処理を分けていく。
メモしていて気付いたけれど、全画面表示モードとプレビュー画面モードは、それぞれ別のフォームを作っておいて対応しちゃってもいいのでは…。1つのフォームでどちらにも対応させなくてもいいのではないか…。
でも、一般的には両モードで同じ描画をするから、同じフォームを使うほうが都合がいいのか。もっとも今回、プレビュー画面モードは画像か文字列を描画するだけにしたいので、別フォームでもいいよな…。
[ ツッコむ ]
以上、1 日分です。