首页 > 编程语言 >C# 修复桌面图标间距问题

C# 修复桌面图标间距问题

时间:2023-05-13 22:31:44浏览次数:33  
标签:间距 string windowMetrics 桌面图标 C# iconSpacing 1125 DefaultIconSpacing

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";

作者:唐宋元明清2188



标签:间距,string,windowMetrics,桌面图标,C#,iconSpacing,1125,DefaultIconSpacing
From: https://blog.51cto.com/u_13906430/6273951

相关文章

  • 【游记】CSP2021
    CSp2021坐标:BJ初赛Day-1什么也没复习!!!学校集训的时候在打osu没听课(逃所以肯定过不了初赛!!!Day1S这都是什么jb题啊,base64又是什么啊???四毛子???只能说ccf你萌死了。。。复赛Day-n好吧只能说苟过去了初赛。国庆集训两天,继续打osu一直在打暴力,因为教练知道我技术不行,说保有......
  • 【题解】Luogu[P1879] [USACO06NOV]Corn Fields G
    Link→状压dp典题,看数据范围就能多半猜到是状压。\(M\)行\(N\)列很不舒服,本篇题解规定为\(N\)行\(M\)列。因为说没有哪两块草地相连,我们不妨一行一行考虑,一行中每格只可能是\(0\)或\(1\),所以一行的总不同状态数是\(2^M\)。我们用二进制表示每一行的状态,对于每一行,暴......
  • C语言程序设计(第四版)谭浩强版 课后答案 第五章
    2、#include<stdio.h>#include<math.h>intmain(){intsign=1,count=0;doublepi=0.0,n=1.0,term=1.0;while(fabs(term)>=pow(10,-6)){pi=pi+term;n=n+2;si......
  • C基础笔记(分支语句switch开关语句)
    条件判断之Switch开关语句switch(表达式){ case1: 做值一的事 break;case2: 做是值二的事 break;……default; 如果前面都不是的事}#include<stdio.h>intmain(){ inta; scanf_s("%d",&a); switch(a) { case0: printf("零\n"); break; case1: printf("......
  • thread 中 join 和 detach 函数
    在C++中,库提供了多线程编程的功能,其中包含了std::thread类,该类用于创建和控制线程。std::thread类提供了两个重要的成员函数:join()和detach(),用于管理线程的生命周期。join()函数:join()函数用于等待线程执行完成,并将线程的执行结果合并到当前线程。换句话说,join()函数会阻塞当前......
  • C基础笔记(for循环语句)
    循环之for语句从目一开始,连续不断做一件事,叫循环语法:for(表达式1(赋值语句初值);表达式2(条件);表达式3(增值的赋值语句)){ 循环要做的事(一次或多次)} #include<stdio.h>intmain(){ for(inti=1;i<=100;i++) { printf("%d\n",i); } retur......
  • Nacos 核心原理解读+高性能微服务系统实战-手撷芙蓉策虯驷
    Nacos核心原理解读+高性能微服务系统实战高性能微服务系统实战:构建稳定、高效的微服务架构关键字:微服务、高性能、系统实战、架构设计、容器化随着互联网的快速发展,越来越多的企业开始采用微服务架构来构建大型应用系统。相比于传统的单体架构,微服务架构具有更好的灵活性、可扩展......
  • MySQL连接时报1040 Too many connections
    1发现问题最近使用mysql5.7的时候连接公司系统数据库时发现提示报错,出现mysqltoomanyconnection的异常。经过查询发现是mysql的系统自带的连接数太小,连接的线程超过系统配置导致出现错误。2解决过程2.1首先登录mysql终端,输入showvariableslikemax_connections,查看最大连接......
  • 华硕 PRIME H610M-A D4 i5-12490F 1060电脑 Hackintosh 黑苹果efi引导文件
    原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔)硬件型号驱动情况主板华硕PRIMEH610M-AD4(LPCController/eSPIControllerH610芯片组)处理器12thGenIntelCorei5-12490F六核已驱动内存 16GB(酷兽DDR43200MHz8GBx2)已驱动硬盘三星SSD860EVO250G......
  • Netty 爱好者必看!一文详解 ChannelHandler 家族,助你快速掌握 Netty 开发技巧!
    1Channel接口的生命周期Channel定义了一组和ChannelInboundHandlerAPI密切相关的简单但功能强大的状态模型1.1Channel的状态状态描述ChannelUnregisteredChannel已经被创建,但还未注册到EventLoopChannelRegisteredChannel已经被注册到了EventLoopChannelActiveChanne......