2012-12-04 66 views
13

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

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

任何人都找到了解决这个?

+0

你可以在这里找到答案:-) http://stackoverflow.com/questions/6402834/how-to-hide-desktop-icons-programatically –

回答

0

如果您只想隐藏桌面上的图标,您可以右键单击桌面,转到“查看”并取消选中“显示桌面图标”。

+0

要做到这一点,从代码? –

0

这里描述,您可以在注册表编辑器 HKEY_CURRENT_USER \ SOFTWARE \微软\的Windows \ CurrentVersion \ Explorer中\高级 变化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(); 
     } 
    } 

使用注册表类。

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