Windows在某些情況(系統文件損壞、註冊表錯誤、驅動不兼容等)下,桌面圖標間距變得超大,佔滿整個桌面。
整理下,C#按如下方式修復
1 using var windowMetrics = Registry.CurrentUser.CreateSubKey(@"Control Panel\Desktop\WindowMetrics"); 2 if (windowMetrics == null) 3 { 4 return; 5 } 6 //默認情況下,水平和垂直間距的值都是-1125。範圍是-480到-2730之間的任何整數 7 //修復後,windows重啓生效 8 if (!(windowMetrics.GetValue("IconSpacing") is string iconSpacing && iconSpacing == DefaultIconSpacing)) 9 { 10 windowMetrics.SetValue("IconSpacing", DefaultIconSpacing, RegistryValueKind.String); 11 } 12 if (!(windowMetrics.GetValue("IconVerticalSpacing") is string iconVerticalSpacing && iconVerticalSpacing == DefaultIconSpacing)) 13 { 14 windowMetrics.SetValue("IconVerticalSpacing", DefaultIconSpacing, RegistryValueKind.String); 15 }
默認的間距值:
private const string DefaultIconSpacing = "-1125";