如何让console程序以全屏窗口运行

有看到人问vc6,0编译生成的exe文件怎么样能让他全屏运行.本来这不算个问题,可是想想,最后还是想要说明一下这个;

1:命令行窗口在命令行可以下用 mode 命令进行自定义调整大小;

  我们在命令行窗口下输入 mode /? 可以得到以下提示:

C:\Users\admin>mode /?
配置系统设备。

串行端口:          MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]
                                [to=on|off] [xon=on|off] [odsr=on|off]
                                [octs=on|off] [dtr=on|off|hs]
                                [rts=on|off|hs|tg] [idsr=on|off]

设备状态:          MODE [device] [/STATUS]

打印重定向:        MODE LPTn[:]=COMm[:]

选择代码页:        MODE CON[:] CP SELECT=yyy

代码页状态:        MODE CON[:] CP [/STATUS]

显示模式:          MODE CON[:] [COLS=c] [LINES=n]

击键率:            MODE CON[:] [RATE=r DELAY=d]

那么我们可以看到倒数第二行: 显示模式:   MODE CON[ : ]  [COLS=C]  [ LINES=N ]  这就是我们需要的调整屏幕大小的命令;

例子: mode con cols=63 lines=46  //设置宽度为63高度为46的命令行窗口

既然已经知道命令,那么我们可以在程序中用system命令来调整程序运行时的窗口大小,

例子:(在c语言中) system ( " mode con cols=63 lines=46" ); //改变相应的参数就能得到设置运行窗口大小;

这是最简单的一种调用形式,

2: 对于命令行窗口大小设置还有更麻烦点的方法:我们首先需要知道,在注册表中存在键 HKEY_CURRENT_USER \ CONSOLE 是用来设置命令行的

其中默认设置就是这个键,而我们需要的自定义设置是键:HKEY_CURRENT_USER \ CONSOLE \%SYSTEMROOT%_SYSTEM32_CMD.EXE

其中的 windowsPosition键值就是命令行窗口大小参数,参数为16进制,高八位为高度,第八位为宽度参数;(在一些地方有看到一个FullScreen键,键值为1时为全屏,但我再自己的电脑上没有看到此键,我的是64位win7系统)

既然我们知道了注册表中的相关项,那么在c语言中我们就可以通过写注册表的方法来改变窗口大小, 呵呵,不过这个可能与前面的话题无关,应为就算修改了注册表的键值,那要等到开机重启后才会生效;这个就算是拓展了;

例子system("reg add % HKCU \ CONCOLE\%%systemRoot%%_System32_cmd.exe / v "WindowsPosition" / t  REG_DWORD /D 0X00640023 /F" ); //这样就可以通过c程序简单改变窗口大小;其实这样显得有点多次一举了,其实如果这样的话更多的人会使用一个批处理来解决上述问题;

3:更高级的方式就是直接使用windowsAPI来改变窗口大小了,对于这一部分我涉猎不深,在这里也就不多说了,有兴趣的可以自己去了解;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值