6

所有しているいくつかのマシンに関する基本情報を表示する簡単な C# プログラムを作成しました。プログラムは全画面表示で、毎秒更新されます。店頭には専用のPCと画面を常設しておりますが、ディレクターの中にはPCでも欲しいが壁紙として登場する方もいらっしゃいます。

何も見つからないので、プログラムを動的な壁紙として設定する簡単な方法があれば教えてください。

本当の解決策は、プログラムを最小化して実行するようにプログラムを変更し、時々 (15 分または 20 分ごとなどに) 最大化したときの外観の画像を生成し、その画像をデスクトップとして設定することだと思います。壁紙。

私の解決策は理にかなっていますか?非表示のアプリケーションから画像を生成するにはどうすればよいですか?

4

1 に答える 1

1

あなたのソリューションは理にかなっています。

次のコードを使用して C# の背景を変更できますが、.bmp 画像タイプでのみ機能します。

[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern Int32 SystemParametersInfo(UInt32 uiAction, UInt32 uiParam, String pvParam, UInt32 fWinIni);
private static UInt32 SPI_SETDESKWALLPAPER = 20;
private static UInt32 SPIF_UPDATEINIFILE = 0x1;
private String imageFileName = "c:\\sample.bmp";

public void SetImage( string filename )
{
    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, filename, SPIF_UPDATEINIFILE);
}

実行時に .bmp を作成する方法については、このフォーラムの投稿を参照してください。

于 2013-02-02T00:00:16.173 に答える