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

来源:互联网 发布:网络信号转换其他信号 编辑:程序博客网 时间:2024/04/29 17:18

最近在写一个小工具,使用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,保存后,运行,右键有用了!


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


问题虽然解决了,但是完全不知道其中的原理,如果知道的话,望大家在下面留言分享一下哈!


原创粉丝点击