6

我制作了一个简单的 C# 程序来显示我们拥有的一些机器的基本信息。该程序是全屏的,并且每秒刷新一次。我们在店里有一台专用的 PC 和屏幕来不断地显示它,但有些导演也希望它在他们的 PC 上,但显示为墙纸。

请告诉我是否有一种简单的方法可以将程序设置为动态壁纸,因为我什么也没找到。

我认为真正的解决方案是修改程序以使其最小化运行,并且偶尔(例如每 15 或 20 分钟)在最大化时生成外观图像,然后将该图片设置为桌面墙纸。

我的解决方案有意义吗?如何从隐藏的应用程序生成图片?

4

1 回答 1

1

你的解决方案很有意义。

您可以使用以下代码更改背景 f:om 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 回答