Win10下签入桌面窗口的所有文字透明而显示不清,怎样能使文字不透明?

在Windows系统桌面签入窗口,点击‘显示桌面’时也能和桌面图标一样不隐藏。
使用了这样的方法:
public void SetDeskWindow(IntPtr hWin)
{
//win7 下是查找 Progman 窗口
IntPtr hDeskTop = FindWindow("Progman", null);
IntPtr hShellDll = IntPtr.Zero;
hShellDll = FindWindowEx(hDeskTop, IntPtr.Zero, "SHELLDLL_DefVIew", null);
// win8,10 需寻找 workerw 窗口,因有多个,需查找其下有 shelldll_defView 的

        if (hShellDll == IntPtr.Zero)
        {
            hDeskTop = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "WorkerW", null);
            while (hDeskTop != IntPtr.Zero)
            {
                hShellDll = FindWindowEx(hDeskTop, IntPtr.Zero, "SHELLDLL_DefView", null);
                if (hShellDll != IntPtr.Zero) break;
                hDeskTop = FindWindowEx(IntPtr.Zero, hDeskTop, "WorkerW", null);
            }
        }
        hDeskTop = FindWindowEx(hShellDll, IntPtr.Zero, "SysListView32", null);
        SetParent(hWin, hDeskTop);
    }

虽然此方法在win7,win10 下都能正常签入桌面,但在win10 下,签入桌面的窗口上所有文字都是透明的(图片不会透明),在Win7下正常。

怎样能使这样的签入窗口文字不透明而正常显示?

补充图片:
图片说明

http://bbs.csdn.net/topics/391897283

最好能截个图来说明问题,不清楚你的描述

这是因为dwm误将黑色视为透明导致的。要修复此问题可以尝试使用GDI+进行绘制(不稳定),最好的办法是换用WPF来写界面。

最好换WPF!

我也遇到过这种问题,换了wpf之后就好了。
希望能帮到你!