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

Rém*_*ure 6 c# wallpaper

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

请告诉我是否有一种简单的方法将程序设置为动态壁纸,因为我什么都没发现.

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

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

Fog*_*zie 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);
}
Run Code Online (Sandbox Code Playgroud)

有关在运行时创建 .bmp 的信息,您可以阅读此论坛帖子