16

一段时间以来,我使用以下 Win32 代码来隐藏桌面(隐藏所有桌面图标)。以下是我的 Win32_Window 类,因为桌面只是一个窗口。

public bool Visible
{
    get { return IsWindowVisible(Handle); }
    set
    {
        ShowWindow(Handle, value ? ShowWindowConsts.SW_SHOW :
            ShowWindowConsts.SW_HIDE);
    }
}

在 Windows 8 中,上述内容不仅隐藏了桌面,而且使其完全空白。现在我想这可以被认为是正常的,因为命令是隐藏,但到目前为止这还不是问题,因为桌面的背景图像仍然可见(这是意图)。

我试过这个来切换图标:https ://stackoverflow.com/a/6403014/353147但它在 Windows 8 中不起作用。

有人找到解决方案吗?

4

1 回答 1

1

您可以在 RegEdit HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced 中执行此操作,将 HideIcons 更改为 1

    static void HideIcons()
    {
        RegistryKey myKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", true);
        if (myKey != null)
        {
            myKey.SetValue("HideIcons", 1);
            myKey.Close();
        }
    }

使用此处描述的 Registry 类。

http://msdn.microsoft.com/en-us/library/microsoft.win32.registry.aspx

于 2016-09-12T10:09:47.760 回答