Board logo

标题: 如何使批处理启动自动进入全屏状态? [打印本页]

作者: 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


  Quote:
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


  Quote:
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楼

http://www.cn-dos.net/forum/viewthread.php?tid=43822
作者: 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 ]