0

スクリーンセーバーを作ろうと思っています。WPFも試してみようと思っています。とにかく、ディスク上のファイル システムでスクリーン セーバーをどのように編成すればよいかよくわかりません。主に2つの関連する問題があり、解決方法が非常に不明です。

  1. 通常、アプリケーションはすべてのサード パーティ アセンブリ、静的リソース、画像などと共に Program Files フォルダーに存在し、そこから実行されます。たとえばC:\Program Files\MyScreenSaver。ただし、(何かを見逃していなければ) Windows のスクリーン セーバーの実行可能ファイルには、scr 拡張子が必要であり、システム フォルダー (たとえばC:\Windows\System32 ) に存在する必要があります。「それ自体の残りの部分」を見つけることができるように、スクリーンセーバーをどのようにプログラムしますか? Windows レジストリを使用しますか? または、残りへのパスを使用して、scr ファイルの横にある種の構成ファイルを作成しますか? また、scr を、アプリケーション フォルダー内の exe のランチャーのようなものにしますか? それとも、これは悪い考えでしょうか?

  2. また、スクリーン セーバーがインターネット上の特定の場所から新しいコンテンツをダウンロードすることも必要です。しかし、どこに置くべきで、スクリーン セーバーはどのようにそれを見つけるのでしょうか? 私の理解が正しければ、アプリケーションはそのアプリケーション フォルダに新しいコンテンツを作成するのではなく、ユーザー フォルダに新しいコンテンツを作成します。そのフォルダを見つけるにはどうすればよいですか? 環境変数から構築しますか?そして、このようなものは実際にはどの特定のディレクトリにあるべきですか? たとえば、Vista では、C:\ProgramDataというフォルダーが 1 つあります。C:\Users\username\AppData\LocalC:\Users\username\AppData\LocalLowC:\Users\username\AppData\Roamingもあります. また、多くのプログラムがドキュメント フォルダに何かをダンプするのを見てきました (ただし、プログラムがドキュメント フォルダを乱雑にするのは嫌いなので、おそらくそれを避けようとします :p)。

ファイル システムでのアプリケーションのレイアウトに関するこれらの問題に関して、ベスト プラクティスは何ですか? 私はそれが Windows 7 に最適で「最も正確」であることを望んでいます。つまり、Vista でも同じように動作する可能性がありますが (?)、多くの人がそれを使用しているため、XP でも動作する必要があります。まだ。

4

3 に答える 3

1

私はまだXPを使用しています:)

System.Environment.SpecialFolders は、これらの特別な場所に必要なものです。

言う、

System.Environment.SpecialFolder.LocalApplicationData
于 2009-08-17T11:38:01.270 に答える
0

スクリーン セーバーの場合、そのほとんどを .exe (.scr) ファイルに入れようとします。実行可能ファイルがかなり大きくなるかもしれませんが、それだけの価値があると思います。

ダウンロードしたコンテンツについては、アプリケーション データ フォルダーを使用するか、ユーザーが場所を設定できるようにします (パスをレジストリに配置します)。たとえば、画像をダウンロードする場合、ユーザーはその画像を [マイ ピクチャ] フォルダーに入れたいと思うかもしれません。

于 2009-08-17T15:54:29.240 に答える
0

System32 (または SysWOW64) フォルダーに配置できますが、Windows フォルダーだけに配置することもできます。これにより、x86 と x64 の問題を防ぐことができます。

スクリーン セーバーの作成に関するその他の見つけにくいが重要な情報は、 https ://github.com/steveniles/MandelZoom/wiki で見つけることができます。

(開示: 上記の wiki は、私自身のスクリーン セーバーの 1 つのソース コードのコンパニオンとして作成しました。)

于 2012-12-06T21:11:23.423 に答える