Board logo

标题: 批处理窗口全屏后文字效果很差 [打印本页]

作者: pykacha     时间: 2008-5-14 16:14    标题: 批处理窗口全屏后文字效果很差

我用了如下代码,虽然可以全屏,但文字显示效果很差很难看,查了很多资料都的不到满意的效果,请各位前辈帮忙指导(分辨率1024*768):
@echo off
echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
chcp 437>nul
graftabl 936>nul
echo 中文字体
pause
作者: slore     时间: 2008-5-14 16:29
看来有的东西还是保存好=。=
翻的人好累……

  Quote:

  1. @echo off
  2. if "%1"=="" goto :FullScreen
  3. ::还原显示模式
  4. REG Add HKEY_CURRENT_USER\Console /v FullScreen /t REG_DWORD /d %1 /f>nul

  5. ::全屏状态下代码段
  6. echo Welcome to Full Screen
  7. echo 按任意键退出. . .
  8. pause>nul
  9. Goto :End

  10. :FullScreen
  11. ::查询显示模式
  12. Set ShowMode=0
  13. for /f "delims=" %%i in ('REG QUERY HKEY_CURRENT_USER\Console /v "FullScreen"') do (
  14. Set ShowMode=%%i
  15. )
  16. Set ShowMode=%ShowMode:~-1%
  17. ::设置显示模式为全屏
  18. REG Add HKEY_CURRENT_USER\Console /v FullScreen /t REG_DWORD /d 1 /f>nul
  19. ::全屏启动当前Bat脚本
  20. start "" %0 %ShowMode%
  21. :End
  22. exit
        Slore发表于:  2007-09-23  13:59


作者: bubblange     时间: 2009-11-18 20:22
其实楼上的方法可以精简些。
作者: bubblange     时间: 2009-11-18 20:40
用不着这么复杂的
作者: bubblange     时间: 2009-11-18 23:17    标题: 通过修改注册表

==============================
@echo off
if not "%1"=="" goto restart
::“不能去掉
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 1 /f >nul
start "" %0 hello
exit
::再次打开此batch,并退出第一次打开的,其中的“hello”是传递的参数,可以随便改,只要不为空。
:restart
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 0 /f >nul

::下面放代码

==============================
以上是我从本论坛一个帖子中看到的,与大家分享;
另外我自己也想到了一类似的方法,如下:
注释与上面的代码类似。

==============================
@echo off
if "%control%"=="0" goto restart
::"不能去掉
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 1 /f >nul
set control=0
start "" %0
exit
:restart
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 0 /f >nul

::下面放代码

==============================
作者: bubblange     时间: 2009-11-18 23:19
Vista好像不支持CMD全屏
作者: slore     时间: 2009-11-19 00:20


  Quote:
Originally posted by bubblange at 2009-11-18 20:22:
其实楼上的方法可以精简些。

你觉得我的代码精简成你的那样的代码效果没有变化么?

如果别人本来就是全屏呢?你的代码结束把人家改为窗口了。。。


我写的“多余”代码是为了不影响别人的设置。
作者: bubblange     时间: 2009-11-19 11:48


  Quote:
Originally posted by slore at 11-19-09 00:20:


你觉得我的代码精简成你的那样的代码效果没有变化么?

如果别人本来就是全屏呢?你的代码结束把人家改为窗口了。。。


我写的“多余”代码是为了不影响别人的设置。

如果本来cmd设置就是全屏还需要这些代码吗?
这个代码是为批处理提供全屏效果的,要单单改CMD为全屏显示(长久的),直接修改下cmd设置或注册表内容即可。
当然可根据用途把“reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 0 /f >nul” 这句去掉。

[ Last edited by bubblange on 2009-11-19 at 11:51 ]
作者: jianny     时间: 2009-11-20 10:49
@echo off
if "%~1"=="" reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 1 /f >nul & start "" %0 p& exit
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 0 /f >nul
::下面放代码
echo 全屏
作者: bubblange     时间: 2009-11-21 14:01
%~1 表示什么?
作者: slore     时间: 2009-11-21 19:55
第一个参数去掉引号的部分
作者: bubblange     时间: 2009-11-22 07:28
这里并不需要去掉引号