怎么通过注册表获取桌面图标之间的间距?

cc___999 2017-03-29 11:34:39

如图,两个桌面图标,怎么获取之间的距离?
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cc___999 2017-03-29
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:

  ICONMETRICS iconms = { sizeof(ICONMETRICS) } ;
  if(SystemParametersInfo(SPI_GETICONMETRICS, iconms.cbSize, &iconms, 0))
  {
    TRACE(_T("ih=%d iv=%d font=%s\n"),
      iconms.iHorzSpacing, iconms.iVertSpacing,
      iconms.lfFont.lfFaceName);
  }
并不行,比如我电脑实测是57,得到的确是75
zgl7903 2017-03-29
  • 打赏
  • 举报
回复

  ICONMETRICS iconms = { sizeof(ICONMETRICS) } ;
  if(SystemParametersInfo(SPI_GETICONMETRICS, iconms.cbSize, &iconms, 0))
  {
    TRACE(_T("ih=%d iv=%d font=%s\n"),
      iconms.iHorzSpacing, iconms.iVertSpacing,
      iconms.lfFont.lfFaceName);
  }
cc___999 2017-03-29
  • 打赏
  • 举报
回复
解决了, 通过ListView_GetItemSpacing
IconSpacing.exe v1.0 程序说明 迅捷图标间距设置程序v1.0 - ybmj@vip.163.com 20180812 (1)、程序用途:快捷设置Windows桌面图标间距 WinXP、Win7用户可在系统提供的高级外观设置里修改桌面图标间距,但是,Win8、Win10系统却没有提供这一功能。熟悉系统的用户虽然可以通过修改注册表、bat、vbs等方式调整桌面图标间距,但这些方法都需要注销后重新登录、或重启计算机才能生效。 该程序 IconSpacing.exe 便是快捷设置Windows桌面图标间距的小程序,中文名为“迅捷图标间距设置程序”。该程序提供窗口界面、命令行两种使用方式。窗口界面简洁快捷、一目了然,普通用户也可轻松使用,并且,设置后无需注销或重启便可立即生效;命令行方式可用于WinPE等需要自动设置桌面图标间距的情况。 (2)、使用环境 该程序采用VS2017 WTL10 x86编译(Windows Template Library,http://wtl.sourceforge.net/ ),程序短小精悍、可独立运行,支持32位和64位的WinXp、Vista、Win7、Win8.x、Win10及相应Windows Server版等操作系统。 (3)、窗口界面快捷设置桌面图标间距 在Windows中直接运行 IconSpacing.exe 便可启动窗口界面,启动后会显示桌面图标间距的当前值,设置对话框简洁快捷、一目了然,普通用户也可快速方便地设置桌面图标间距,并且可以立即生效。 (4)、命令行方式设置桌面图标间距 在WinPE等需要自动设置桌面图标间距的时候,可以使用命令行方式。用户可按以下格式的参数启动程序,所有参数都不分大小写。更改桌面图标间距后程序将立即刷新桌面,除非添加了 -N 参数。[]加方括号的为可选参数,()加圆括号的为可选独立参数(只能单独使用),(无参)是不带任何参数。 [-Hxxx] :将桌面图标水平间距设置为xxx,xxx是0到150之间的3位正整数(Win7风格度量单位)。只带该参数而不带[-Vxxx]参数时,便只修改桌面图标的水平间距; [-Vxxx] :将桌面图标垂直间距设置为xxx,xxx是0到150之间的3位正整数(Win7风格度量单位)。只带该参数而不带[-Hxxx]参数时,便只修改桌面图标的垂直间距; [-N] :更改桌面图标间距后,不立即刷新桌面。需要重新登录、或重启计算机才能生效; (-R) :不改变桌面图标间距,只刷新桌面; (-?) :显示设置对话框和此帮助信息(当前选项卡),可显示桌面图标间距的当前值; (无参) :显示设置对话框(当前选项卡)和此帮助信息,可示桌面图标间距的当前值。 (5)、程序使用实例 # 将桌面图标水平间距设置为76、垂直间距设置为48,并在设置后立即刷新桌面。 IconSpacing.exe -H76 -V48 # 将桌面图标水平间距设置为80、垂直间距设置为50,设置后不立即刷新桌面。 IconSpacing.exe -V50 -H80 -N # 桌面图标的水平间距保持不变、垂直间距设置为56,并在设置后立即刷新桌面。 IconSpacing.exe -V56 # 不改变桌面图标间距,只是立即刷新桌面。 IconSpacing.exe -R # 显示设置对话框和此帮助信息(当前选项卡),获取桌面图标间距的当前值。 IconSpacing.exe -? # 显示设置对话框(当前选项卡)和此帮助信息,获取桌面图标间距的当前值。 IconSpacing.exe (6)、免责申明 用户可自行斟酌选用该程序,若转载请注明出处。对一切后果,作者不承担任何责任!
AgileFontSet v2.0 程序说明 迅捷字体设置程序v2.0 - ybmj@vip.163.com(20180830) (1)、程序用途:快捷设置Windows系统字体和桌面图标间距 WinXP、Win7用户可在系统提供的高级外观设置里修改系统字体和桌面图标间距,但是,Win8、Win10系统却没有提供这一功能。熟悉系统的用户虽然可以通过修改注册表、bat、vbs等方式调整系统字体和桌面图标间距,但这些方法都需要注销后重新登录、或重启计算机才能生效。 该程序 AgileFontSet 便是快捷设置Windows系统字体和桌面图标间距的小程序,中文名为“迅捷字体设置程序”。该程序可以加载和保存Win7Preset、Win8xPreset、Win10Preset、UserPreset1 - UserPreset100等多种用户配置。该程序提供窗口界面、命令行两种使用方式。窗口界面简洁快捷、一目了然,普通用户也可轻松使用,并且,设置后无需注销或重启便可立即生效;命令行方式可用于WinPE等需要自动设置系统字体和桌面图标间距的情况。 (2)、使用环境 该程序采用VS2017 WTL10 x86编译(Windows Template Library,http://wtl.sourceforge.net/ ),程序短小精悍、可独立运行,支持32位和64位的WinXp、Vista、Win7、Win8.x、Win10及相应Windows Server版等操作系统。 (3)、窗口界面快捷设置系统字体和桌面图标间距 在Windows中直接运行 AgileFontSet 便可启动窗口界面,启动后会显示系统字体和桌面图标间距的当前值,设置对话框简洁快捷、一目了然,普通用户也可快速方便地设置系统字体和桌面图标间距,并且可以立即生效。在窗口界面,用户可以直观地加载和保存默认配置、Win7Preset、Win8xPreset、Win10Preset、UserPreset1 - UserPreset100等多种用户配置。 (4)、命令行方式设置系统字体和桌面图标间距 在WinPE等需要自动设置系统字体和桌面图标间距的时候,可以使用命令行方式。用户可按以下格式的参数启动程序,所有参数都不分大小写。更改系统字体和桌面图标间距后程序将立即刷新桌面。加方括号[]的为可选参数,加圆括号()的为只能单独使用的可选独立参数,(无参)是不带任何参数。 [path] :指定加载ini配置文件的路径,启动后将显示ini配置文件中的默认配置,注意:含空格的路径必须用双引号包围; [path -xxx] :指定加载ini配置文件的路径path,-xxx 参数选择ini文件中的xxx配置。xxx可以是:Win7Preset、Win8xPreset、Win10Preset、UserPreset1 - UserPreset100 之一; [path -hide] :指定加载ini配置文件的路径path,-hide 参数指定后台加载ini配置文件中的默认配置; [path -xxx -hide] :指定加载ini配置文件的路径path,-xxx 参数选择ini文件中的xxx配置,-hide 参数指定进行后台设置。3个参数组合使用,可以后台加载ini配置文件中的xxx配置; (-?) :显示设置对话框和此帮助信息(当前选项卡),可显示系统字体和桌面图标间距的当前值; (无参) :显示设置对话框(当前选项卡)和此帮助信息,可显示系统字体和桌面图标间距的当前值。 (5)、程序使用实例 # 指定加载ini配置文件"D:\Program Files\User Data\myFontSet.ini",启动后将显示ini配置文件中的默认配置,注意:含空格的路径必须用双引号包围。 AgileFontSet "D:\Program Files\User Data\myFontSet.ini" # 指定加载ini配置文件D:\myFontSet.ini,启动后将选择ini文件中的UserPreset1配置。 AgileFontSet D:\myFontSet.ini -UserPreset1 # 指定后台设置ini配置文件D:\myFontSet.ini中的默认配置。 AgileFontSet D:\myFontSet.ini -hide # 指定后台设置ini配置文件D:\myFontSet.ini中的Win10Preset配置。 AgileFontSet D:\myFontSet.ini -Win10Preset -hide # 显示设置对话框和此帮助信息(当前选项卡),获取系统字体和桌面图标间距的当前值。 AgileFontSet -? # 显示设置对话框(当前选项卡)和此帮助信息,获取系统字体和桌面图标间距的当前值。 AgileFontSet (6)、免责申明 用户可自行斟酌选用该程序,若转载请注明出处。对一切后果,作者不承担任何责任!
注册表修改大全 作者:Sunny 编辑:Sunny 编辑日期:2002年12月17日 23:11分 :http://www.sunny.com/WinME : sunny@elong.com ★ 更改关闭应用程序时出现“等待”对话框的时间 有时应用程序因某种原因,会没有响应,当我们按下CTRL+ALT+DEL来结束应用程序时,系统要等一段时间才能结束任务,我们可以修改注册表来减少这段时间。 打开注册表,找到主键:“HKEY_CURRENT_USER\Control Panel\desktop”,在右侧窗口新建一“字符串值”,将其命名为“WaitToKillAppTimeOut”。双击“WaitToKillAppTimeOut,然后在“编辑字符串”对话框的“键值”框中输入5000(单位为ms,缺省值为20000ms,即20秒),为了缩短系统关闭应用的等待时间,您可以将此等待时间降低为20000ms以下,如10000ms、15000ms等。 ★ 启动时给自己个欢迎窗口 打开注册表,找到主键: “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Winlogon”,在右边窗口新建两个字符串,“LegalNoticeCaption”和“LegalNoticeText”。 “LegalNoticeCaption”是指弹出窗口的标题,修改它的值。在这里自己可以随便起个名字如“我的计算机”。 "LegalNoticeText",是指你想在登录对话框中显示的文字,如改为“祝你今天工作愉快!”这样,以后启动电脑时会自动弹出这个欢迎框。 ★ 设定口令的最小长度 通常登陆口令可以设置为空。为了安全起见,可以设定口令的最小长度,以防止口令被破解。 打开注册表编辑器,找到主键: “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Polices\ Network”键下。 在右侧窗口中新建二进制键值“MinPwdLen”,值为设定的口令的最小长度,默认值为0,表示口令可以为空。如设为“3”,则口令最小长度为3。 ★使Windows口令必须为数字和字母 设定口令为字母和数字,可以增加别人破你的口令的难度,如果口令长度足够长,则很难破解。打开注册表,找到: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Network分支,在右窗格内新建一个DWORD值为“AlphanumPwds”,修改“AlphanumPwds”键值,在出现的对话框中的“键值”框内输入1。 ★ 防止匿名用户登录 WINDOWS的本身的登陆窗口安全性很差,在不知道口令的情况下可以轻易点“取消”或按“ESC”键轻松进入。修改注册表可以防止匿名用户登陆。 打开注册表,找到主键: “HKEY_LOCAL_MACHINE\Network\Logon”,新建DWORD值,名为“MustBeValidated”,键值为“1”;再重新启动机器后,你会发现通过点击Cancel按钮进Windows的办法已经不灵了。(如果自己都进不去了,可以以安全模式进入,然后将其值改为0。) ★禁用注册表编辑器Regedit 通过修改注册表,可以控制整个机器,可以禁止修改注册表,防止别人破坏HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System,如果你发现“Policies”下面没有“System”,则在它下面新建一个主键,名字就是“"System”,然后在右侧窗口中新建一个DWORD,名字取为“DisableRegistryTools”,修改它的值为“1”,以后,别人、甚至是你都无法再用regedit.exe 啦,如果要恢复的话,用记事本建立一个REG.REG文件,保存后双击即可导入注册表 REGEDIT 4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] "DisableRegistryTools"=dword:00000000 。 ★禁用口令缓存 打开注册表,找到主键: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Ne

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧