[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
计算字体大小那里,可以简化为:
  1. set /a FontWidth=8, FontHeight=16
  2. set /a FontSize=(FontHeight "<<" 16) + FontWidth
复制代码
直接对FontSize进行转16进制运算就好了,窗口大小同是。
貌似涉及到LowWord/HighWord(低位/高位?)
心绪平和,眼藏静谧。

TOP

回复 15楼 的帖子

不好意思,现在才看到兄的回复。公式的确错了,应该是:
  1. set /a FontWidth=8, FontHeight=16
  2. set /a FontSize=(FontHeight "<<" 16) "|" FontWidth
复制代码
另外测试不必补零也可以啊~
是否在读取宽/高的时候写错了,测试代码:
设置.bat
  1. @echo Off & setlocal EnableDelayedExpansion
  2. Set /a FontWidth=8, FontHeight=16
  3. Set /a FontSize=(FontHeight "<<" 16) "|" FontWidth
  4. Call :Dec2Hex %FontSize% iFontSize
  5. Echo 0x%iFontSize%
  6. Reg Add hkcu\console /v FontSize /t reg_dword /d 0x%iFontSize%
  7. Pause>nul & Exit /b
  8. :Dec2Hex
  9. set num=%1
  10. set str=0123456789ABCDEF
  11. set numDiv=%num%
  12. set numConn=
  13. :LoopD2H
  14. set /a numMod=numDiv%%16
  15. set numMod=!str:~%numMod%,1!
  16. set /a numDiv/=16
  17. set numConn=%numMod%%numConn%
  18. if %numDiv% equ 0 (
  19.   set %2=%numConn%
  20.   goto :eof
  21. )
  22. goto :LoopD2H
复制代码
读取.bat
  1. @echo Off
  2. For /f "skip=4 tokens=3" %%a in ('reg query hkcu\console\ /v FontSize') do set /a FontSize=%%a
  3. Set /a FontHeight=FontSize ">>" 16, FontWidth=FontSize "&" 0xffff
  4. Echo FontWidth: %FontWidth% FontHeight: %FontHeight%
  5. Pause>nul
复制代码
1

评分人数

    • Batcher: 感谢分享PB + 10 技术 + 1
心绪平和,眼藏静谧。

TOP

返回列表