您的位置:首页 > 编程语言 > C语言/C++

C++控制台应用程序 无法右键粘贴 解决方法

2011-07-29 10:05 639 查看
最近在写一个小工具,使用C++编写的一个控制台应用程序

启动程序开始运行后,需要用户提供相关文件存放路径,于是就很自然的就复制一个路径,然后在运行窗口里面点右键(准备选择粘贴),突然发现,点右键没有反应!编译后直接运行点右键还有用的啊!怎么直接启动exe可执行文件的时候右键没有用了!那每次需要输入路径的时候只能手动输入,那岂不是很繁琐?

然后开始尝试先启动cmd,然后在cmd中启动该exe应用程序,发现右键又能使用了!

但不能每次要使用这个程序的时候都要先打开cmd,然后再输入路径,找到这个程序去运行吧。。。太麻烦了。。。。

进而想到利用bat批处理程序,在一个批处理程序中启动应用程序,就相当于在cmd中启动了

乐呵呵的新建了一个start.bat(和需要启动的应用程序FileAnalysis.exe在同级目录下),输入了start FileAnalysis.exe,然后保存,运行,发现右键又没有用了。。。T_T

又上网查了一下,找到了start的使用方法
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [command/program]
[parameters]

参数参数使用方法/说明
"title"在窗口标题栏中显示的标题。
/D path起始目录
/I新环境是传递给cmd.exe的原始环境,而不是当前环境
/MIN开始时窗口最小化
/MAX开始时窗口最大化
/SEPARATE在分开的内存空间内开始16位Windows程序
/SHARED在共享内存空间内开始16位Windows程序
/LOW在IDLE优先级类别开始应用程序
/NORMAL在NORMAL优先级类别开始应用程序
/HIGH在HIGH优先级类别开始应用程序
/REALTIME在REALTIME优先级类别开始应用程序
/ABOVENORMAL在ABOVENORMAL优先级类别开始应用程序
/BELOWNORMAL在BELOWNORMAL优先级类别开始应用程序
/WAIT启动应用程序并等候它结束
/B在不创建新窗口的情况下开始应用程序。除非启动^C(Ctrl+C)处理,否则该应用程序会忽略 ^C 处理;^Break是唯一可以中断该应用程序的方式
command/program如果是内部cmd命令或批文件,那么该命令处理器是用/K命令行开关运行cmd.exe的。这表示该窗口在命令运行后仍然存在。
如果不是内部 cmd 命令或批文件,则是一个程序,并作为窗口应用程序或控制台应用程序运行。
/parameters这些为传送到命令/程序的参数
看到/B的时候,我心情激动了!
把start.bat的内容改为start \b aaa.exe,保存后,运行,右键有用了!



纠结了小半天,终于解决了这个问题。。。

问题虽然解决了,但是完全不知道其中的原理,如果知道的话,望大家在下面留言分享一下哈!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐