如何使监控程序显示为壁纸?

时间:2013-02-01 23:49:08

标签: c# wallpaper

我制作了一个简单的C#程序来显示我们所拥有的一些机器的基本信息。该程序是全屏的,每秒刷新一次。我们在商店里有一个专用的PC和屏幕,可以不断地显示它,但有些导演也想在PC上使用它,但它看起来像壁纸。

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

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

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

1 个答案:

答案 0 :(得分: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的信息,您可以阅读this forum post