2012-12-04 28 views
13

Trong một thời gian bây giờ tôi đã sử dụng mã Win32 sau để Ẩn màn hình nền (ẩn tất cả các biểu tượng trên màn hình). Sau đây là trong lớp Win32_Window của tôi, vì Desktop chỉ là một cửa sổ.Ẩn Windows 8 Desktop Icons

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

Với Windows 8 ở trên không chỉ ẩn máy tính để bàn mà nó làm cho nó hoàn toàn trống. Bây giờ tôi cho rằng điều đó có thể được coi là bình thường, vì lệnh này là ẩn, nhưng cho đến bây giờ vẫn chưa có vấn đề gì vì hình nền của máy tính để bàn vẫn hiển thị (đó là ý định).

Tôi đã thử này để chuyển đổi các biểu tượng: https://stackoverflow.com/a/6403014/353147 nhưng nó không hoạt động trong Windows 8.

Bất cứ ai tìm thấy một giải pháp cho điều này?

+0

Bạn có thể tìm thấy câu trả lời ở đây :-) http://stackoverflow.com/questions/6402834/how-to-hide-desktop-icons-programatically –

Trả lời

0

Nếu tất cả những gì bạn muốn là ẩn biểu tượng trên màn hình, bạn có thể nhấp chuột phải vào màn hình, chuyển đến "Chế độ xem" và bỏ chọn "Hiển thị biểu tượng màn hình".

+0

Và để làm điều đó từ mã? –

0

Bạn có thể làm điều này trong RegEdit HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ nâng cao HideIcons thay đổi 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(); 
     } 
    } 

Sử dụng lớp Registry như đã mô tả ở đây.

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