如何将监控程序设置为桌面壁纸?

6
我制作了一个简单的 C# 程序,用于显示我们拥有的一些机器的基本信息。该程序为全屏模式,每秒刷新一次。我们在车间内有一台专用电脑和屏幕,用于不断地显示它,但是一些主管也希望它出现在他们的个人电脑上,并作为壁纸。
请告诉我是否有一种简单的方法将程序设置为动态壁纸,因为我找到的都没有这个功能。
我认为真正的解决方案是修改程序,使其最小化运行,并且每隔 15 或 20 分钟生成一个最大化时的外观图像,然后将该图片设置为桌面壁纸。
我的解决方案可行吗?如何从隐藏的应用程序中生成图片?
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 文件的信息,您可以阅读此论坛帖子


谢谢,我已经有一个改变Windows壁纸的想法了,但是你的解决方案真是太简单了,棒极了!然而,即使阅读了你提供的论坛帖子,我仍然对如何生成隐藏或最小化程序的.bmp一无所知。 - Remz1337

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接