C#如何做到不隐藏窗口但是截一张隐藏了窗口的图

想做一个Png带透明通道的窗口(窗口大小800X600,Png大小800X600)
导入了一张Png窗口
然后设置了一个100ms的时钟


private void timer1_Tick(object sender, EventArgs e)
{
    Bitmap a = new Bitmap(800,600);
    Graphics g = Graphics.FromImage(a);
    Visible = false;
    g.CopyFromScreen(new Point(Left,Top),new Point(0,0),new Size(800,600));
    Visible = true;
    g.DrawImage(Resources.ces,new Point(0,0));
    BackgroundImage = a;
}

但是反复用visible=false和true会使得窗口闪烁
有没有一种可以不隐藏窗口,但是截图出来是隐藏窗口的截图呢

CreateDesktop

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^