スクリーンセーバーを作ろうと思っています。WPFも試してみようと思っています。とにかく、ディスク上のファイル システムでスクリーン セーバーをどのように編成すればよいかよくわかりません。主に2つの関連する問題があり、解決方法が非常に不明です。
通常、アプリケーションはすべてのサード パーティ アセンブリ、静的リソース、画像などと共に Program Files フォルダーに存在し、そこから実行されます。たとえばC:\Program Files\MyScreenSaver。ただし、(何かを見逃していなければ) Windows のスクリーン セーバーの実行可能ファイルには、scr 拡張子が必要であり、システム フォルダー (たとえばC:\Windows\System32 ) に存在する必要があります。「それ自体の残りの部分」を見つけることができるように、スクリーンセーバーをどのようにプログラムしますか? Windows レジストリを使用しますか? または、残りへのパスを使用して、scr ファイルの横にある種の構成ファイルを作成しますか? また、scr を、アプリケーション フォルダー内の exe のランチャーのようなものにしますか? それとも、これは悪い考えでしょうか?
また、スクリーン セーバーがインターネット上の特定の場所から新しいコンテンツをダウンロードすることも必要です。しかし、どこに置くべきで、スクリーン セーバーはどのようにそれを見つけるのでしょうか? 私の理解が正しければ、アプリケーションはそのアプリケーション フォルダに新しいコンテンツを作成するのではなく、ユーザー フォルダに新しいコンテンツを作成します。そのフォルダを見つけるにはどうすればよいですか? 環境変数から構築しますか?そして、このようなものは実際にはどの特定のディレクトリにあるべきですか? たとえば、Vista では、C:\ProgramDataというフォルダーが 1 つあります。C:\Users\username\AppData\Local、C:\Users\username\AppData\LocalLow、C:\Users\username\AppData\Roamingもあります. また、多くのプログラムがドキュメント フォルダに何かをダンプするのを見てきました (ただし、プログラムがドキュメント フォルダを乱雑にするのは嫌いなので、おそらくそれを避けようとします :p)。
ファイル システムでのアプリケーションのレイアウトに関するこれらの問題に関して、ベスト プラクティスは何ですか? 私はそれが Windows 7 に最適で「最も正確」であることを望んでいます。つまり、Vista でも同じように動作する可能性がありますが (?)、多くの人がそれを使用しているため、XP でも動作する必要があります。まだ。