Mfc 将HBITMAP对象设置为桌面墙纸

Mfc 将HBITMAP对象设置为桌面墙纸,mfc,winapi,visual-c++,Mfc,Winapi,Visual C++,如何将HBITMAP对象设置为墙纸?我正在使用BitBlt拍摄桌面的截图,因此我将截图作为HBITMAP对象。现在我可以将对象保存到bmp文件中,并使用SystemParametersInfo、SPI_SetdeskWallpar将其设置为墙纸 但我正在检查是否有直接的方法将位图对象设置为壁纸。有API或其他什么吗?它需要是一个实际的文件(考虑重新启动等) 如果您试图模仿UAC,那么这不是一种方法。如果您想模拟UAC,只需创建一个屏幕大小的窗口并在那里绘制位图(为了模拟实际的安全功能,您应该将此

如何将HBITMAP对象设置为墙纸?我正在使用BitBlt拍摄桌面的截图,因此我将截图作为HBITMAP对象。现在我可以将对象保存到bmp文件中,并使用SystemParametersInfo、SPI_SetdeskWallpar将其设置为墙纸


但我正在检查是否有直接的方法将位图对象设置为壁纸。有API或其他什么吗?

它需要是一个实际的文件(考虑重新启动等)


如果您试图模仿UAC,那么这不是一种方法。如果您想模拟UAC,只需创建一个屏幕大小的窗口并在那里绘制位图(为了模拟实际的安全功能,您应该将此窗口和“UAC对话框”放在不允许挂钩的单独桌面上,CreateDesktop()API应该让您开始)

在我看来,用桌面截图作为墙纸似乎有点可疑。只是想模仿UAC的工作方式。