如何在窗口程序中使用控制台

如何在窗口程序中使用控制台,第1张

要创建控制台程序,就要知道什么是控制台。在开始-运行-输入cmd-回车,就会发现一个黑漆漆的窗口,这个跟控制台程序的外貌就差不多。

控制台程序没有窗口,没有控件,只是通过像DOS一样的命令符来输入命令。控制台最基本的命令就是“标准输入()”和“标准输出()”(学过C++的童鞋应该知道,在C++里这些代码貌似是"std::cinget()"和"std::cout<<“”")。标准输入是让用户输入一个命令,程序好知道用户要做什么。标准输出是输出一些文本。在控制台里除了窗口的那些功能其他的命令几乎都可以使用。

可以先做一个输出“好世界”的程序。这个代码其实很简单:

版本 2

程序集 程序集1

子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

标准输出 (1, “好世界”) ' 1是标准输出设备,就是显示屏,“好世界”就是要输出的内容

返回 (0) ' 0代表运行正常,Windows定义的

那啥,把这段代码写成个网页(这段代码是一段html),就知道代码在IDE的样子啦:

<body><table border=0 cellpadding=4 cellspacing=1 bgcolor=#999999 style='font-size: 9pt;color: #000000;'><tr style='background-color:#F0F0F0;'><td>程序集名</td><td>保留</td><td>保留</td><td>备注</td></tr><tr bgcolor=#FFFFFF><td><font color=#000080> 程序集1</font></td><td> </td><td> </td><td> </td></tr></table><br /><table border=0 cellpadding=4 cellspacing=1 bgcolor=#999999 style='font-size: 9pt;color: #000000;'><tr style='background-color:#E6EDE4;'><td>子程序名</td><td>返回值类型</td><td>公开</td><td colspan=3>备注</td></tr><tr bgcolor=#FFFFFF><td><font color=#000080> _启动子程序</font></td><td><font color=#0000FF> 整数型</font></td><td> </td><td colspan=3> <font color=#008000> 本子程序在程序启动后最先执行</font></td></tr></table><table border=0 cellpadding=0 cellspacing=0 bgcolor=#FFFFFF style='font-size: 9pt;color: #000000;font-family: 宋体;'><tr><td height=22>标准输出 (1, <font color=#008080>“好世界”) ' <font color=#008000> 1是标准输出设备,就是显示屏,“好世界”###char_color_end###就是要输出的内容</font></td></tr><tr><td height=22>返回 (0) ' <font color=#008000> 0代表运行正常,Windows定义的</font></td></tr></table></table><br /><table width=300 border=0 cellpadding=4 cellspacing=1 bgcolor=#999999 style='font-size: 9pt;color: #000000;'><tr style='background-color:#E6EDE4;color: green;'><td colspan=2><font face=Webdings color=red>i</font>以上代码采用“点易编程助手”生成</body>

控制台不止这些功能的。。。用易语言做个计算器吧!

先打开易语言,新建里选择控制台程序。写上代码:

版本 2

程序集 程序集1

子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

局部变量 加数i, 整数型, , , 第一个加数,用来中转第一次输入值

局部变量 加数ii, 整数型, , , 第二个加数,用来中转第二次输入值

标准输出 (1, “这是一个加法计算器!” + #换行符) ' 前面说过的,只是让他换行

标准输出 (1, “第一个加数:”) ' 也是的

加数i = 到数值 (标准输入 ()) ' 返回用户的输入的,是文本型,所以要先转换

标准输出 (1, “第二个加数:”) ' 也是的

加数ii = 到数值 (标准输入 ()) ' 返回用户的输入的,是文本型,所以要先转换

标准输出 (1, “最后结果是:” + 到文本 (加数i + 加数ii)) ' 输出结果

标准输出 (1, #换行符 + “回车结束”) ' 输出信息

标准输入 () ' 用来让程序停靠,不然去掉的话输入完就一下闪过。

返回 (0) ' 前面说过的,懂的

恩,代码功能能在代码里备注了。

最后做个总结:控制台程序是不能用窗口、控件的,输入输出只能通过上面的命令。支持库不是控件的功能都可以用。

对偶来说,所有可视化编程工具中,VB应该是最简单,最快捷,最方便的,偶曾经用它做过应用程序,编过游戏,开发了小外挂之类的,感觉用VB功能虽然弱了点,但是通过API的确可以非常方便的完成许多工作,今天把自己做DOS控制台程序改编成窗口应用程序的一些经验与方法写下:

1) DOS控制台窗口化最简单的方法就是用Shell函数了,在MSDN中是这么说的:

语法: Shell (pathname [,windowstyle] ),执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。

只需要一个可执行文件的路径与运行时窗口状态就行了,比如给Net Send命令做一个窗口化程序,则可以新建一个窗体,再放置两个Text控件和一个Command按钮,其中Text1表示填写IP地址,Text2填写要发送的消息,最后再在Command的Click事件中这样调用:

Dim rtn As Variant

rtn = Shell("net send" & " " & Text1Text & " " & Text2Text, 0) '参数0表示隐藏DOS窗口

到这里,一个Net Send的窗口版就大功告成了,大家只要对界面稍微美化一下就OK啦~~~

2) 调用API函数

这种方式应该说是最完美的,毕竟是 *** 作系统提供的函数嘛~这里要用API函数,所以要定要声明,我们就在通用里将它声明一下:Private Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long

接下来跟前面的差不多,只是在Command控件的Click事件里这么调用:

Dim cmd As String

Dim hWnd As Integer

cmd = "net send"& " " & Text1Text & " " & Text2Text

hWnd = WinExec(cmd, 0)

这样,就能完成对Net Send命令的调用了,非常方便,偶这样子做过好几个DOS控制台程序的窗口化版本了

-------------------------------------------------

右键点击程序快捷方式-->目标

在路径如"D:\\SONY\\星际ONLINEEXE"后面加上 (空格)-w

这样就可以窗口化运行了~修改后的路径就是"D:\\SONY\\星际ONLINEEXE" -w

除了窗口化还可以修改分辨率,加上 (空格)-r800x600(注意:那个x是小写的X)

上面修改的分辨率是800X600~当然可以改成其他分辨率~

2个一起用的话就改成"D:\\SONY\\星际ONLINEEXE" -r800x600 -w

但是~不是所有程序都能窗口化运行~只有路径有双引号""的才可以~比如diablo2

现在的游戏一般在游戏的设置里面有窗口和全屏的选择设置

如果想快速切换,可以使用快捷键。Alt+Enter键也可以实现。

在控制台窗口中运行应用程序时,您可以按 ALT + ENTER 组合键以切换到全屏显示视图的控制台。在全屏幕模式显示在控制台窗口中运行的应用程序。

以上就是关于如何在窗口程序中使用控制台全部的内容,包括:如何在窗口程序中使用控制台、让程序窗口化运行一般是要加什么参数、怎样使全屏游戏变成窗口模式啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9527285.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存