标题: 如何使批处理启动自动进入全屏状态?
[打印本页]
作者: vlanmaster
时间: 2007-1-12 06:47
标题: 如何使批处理启动自动进入全屏状态?
如题。
最好再能给我说一些譬如限制CMD窗口大小,宽度等等的命令。
作者: cmshun
时间: 2007-1-12 07:17
start /max
mode con:cols=80 lines=8
这个可以设大小和宽度
Last edited by cmshun on 2007-1-11 at 06:20 PM ]
作者: lxmxn
时间: 2007-1-12 07:19
mode con cols=40 lines=10
作者: vlanmaster
时间: 2007-1-12 08:13
我更想知道如何全屏?2楼的不行,start /max只是最大化运行,不是全屏。
作者: lxmxn
时间: 2007-1-12 08:24
mode con cols=200 lines=200
::或者直接Alt+Enter组合键。
作者: vlanmaster
时间: 2007-1-12 08:27
答楼上的长宽都设200也不是全屏。
Alt+Enter组合键我当然知道,我要就是Alt+Enter的效果。但不是进入后按Alt+Enter。而是直接就进入这种模式。谢谢。
作者: redtek
时间: 2007-1-12 22:56
进入全屏幕模式
感谢boluor兄帮忙测试并发现了错误~:)
错误已经修正了~:)
@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
:rem 下面放置任何命令……
dir
pause
原理: 先设置屏幕进入图形模式 640*480 16色,就自动切换到全屏模式了。(与玩游戏时的样子一样~:)
然后再设置屏幕进入文本模式,80*25 16色。这样就相当于我们按alt+Enter所进入的全屏幕文本模式。
Last edited by redtek on 2007-1-18 at 11:06 AM ]
作者: boluor
时间: 2007-1-18 23:43
楼上兄弟的方法好象不是很管用啊,进入全屏,却看不到命令行,只有光标在闪啊
作者: redtek
时间: 2007-1-19 00:09
感谢boluor兄测试并发现错误~:)
错误已经修正,兄再试一下看看是否可以全屏和有没有乱码的问题~:)
作者: boluor
时间: 2007-1-19 00:16
楼上真是认真啊 ,给我们立了好榜样.修改后的已经非常不错了...叹为观止了..
作者: luowei14
时间: 2007-1-26 01:26
收下了 这里高手还真的挺多的 以前在HELP里也看到过MODE CON这个命令 也没在意 没想到还有这么强大的功能哈 今天算是领教了 以后我会经常关注本论坛 谢谢
作者: 6622186
时间: 2007-6-19 18:25
我想懂 debug 的不是很多吧
作者: 6622186
时间: 2007-6-19 18:31
直接 chcp 936 不行么?
作者: vlanmaster
时间: 2007-9-4 15:35
果然好方法。。学习了。
作者: xxi
时间: 2007-9-6 09:50
@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
cd /d c:\
call cmd
pause
作者: jhua
时间: 2007-10-25 12:59
Originally posted by vlanmaster at 2007-1-12 08:27 AM:
答楼上的长宽都设200也不是全屏。
Alt+Enter组合键我当然知道,我要就是Alt+Enter的效果。但不是进入后按Alt+Enter。而是直接就进入这种模式。谢谢。
我把这段代码 复制 保存为1.bat
运行
结果 喀吧自动关闭
然后死机 重启………………
!!!!!!!!!!!!!!!!!??????????
作者: PPdos
时间: 2008-6-21 02:10
e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20
redtek兄的这段代码真是奇妙 翻译一下 让大家学习
MOV AH,00
MOV AL,12
INT 10
MOV AL,03
INT 10
INT 20
Last edited by PPdos on 2008-6-20 at 07:13 PM ]
作者: 7testing
时间: 2008-6-21 02:17
@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
:rem 下面放置任何命令……
cmd
作者: maikaluo
时间: 2008-6-23 08:55
标题: hao
楼上的人太热心了............
好..............
这中精神 继续发扬
作者: okliweiok
时间: 2008-8-21 15:26
标题: 真的可以,但还有问题
我试了一下,真 的可以,佩服!!
但是我试了下,发现显示的文字都是扁的,这是为什么?
我很菜鸟,刚学习DOS望高手多指教!!!
作者: tireless
时间: 2008-8-22 23:05
全屏工具
FSTOGGLE.EXE (30.5KB)
FSTOGGLE.EXE usage:
fstoggle toggles the display mode
fstoggle 1 switch to fullscreen mode
fstoggle 0 switch to windowed mode
fstoggle ? print the display mode (0 or 1)
Any other syntax shows this message.
In any case, FSTOGGLE returns 0 or 1, indicating
the display mode as it exits.
作者: radem
时间: 2008-8-23 01:56
高深啊
只能套用,不能理解
作者: Vampire
时间: 2008-11-6 09:48
正学汇编,redtek兄的代码又给了一个例子,只能看懂字面,不能理解精髓,继续努力,谢谢redtek兄的精彩代码。
作者: HAT
时间: 2008-11-6 18:23
标题: Re 39楼
作者: bubblange
时间: 2009-11-18 21:15
标题: 通过修改注册表
==============================
@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
::下面放代码
==============================
个人认为第二个代码有一个优点,如果在代码中包含会跳出全屏的命令,比如
shutdown、start taskmgr等,要想再自动恢复全屏(前面的batch当然包括全屏会关闭),就比第一个简单。
Example:
==============================
@ echo off
if "%control%"=="0" goto b
if not "%1"=="" goto a
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 1 /f >nul
start "" %0 u
exit
:a
set control=0
start taskmgr.exe
start "" %0
exit
:b
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 0 /f >nul
echo ok
pause
==============================
此例中第一次全屏采用了代码1,第二次采用了代码2;
其实,第一次全屏用2种代码均可,但后面的用代码2的形式会更简单。
Last edited by bubblange on 2009-11-18 at 21:41 ]