我正在使用C#开发一个控制台应用程序,并想知道是否有办法在我的应用程序中获得“复制粘贴”或“标记粘贴”功能,与标准Windows命令提示符相似或相同。这是一个疯狂的追逐或简单的应用变量吗?
答案 0 :(得分:63)
我已经从控制台窗口复制了文本,并将其多次粘贴到其他来源。
它是控制台应用程序中的默认值;
右键单击控制台边框:
选择修改>标记:
使用鼠标拖动所需的文本(或使用箭头键)选择所需的文本:
再次,右键单击控制台边框,然后选择编辑>复制:
从这里,您可以将其粘贴到其他应用程序中,就像使用任何其他文本一样。
这是从C#Console应用程序中获取的,输入的唯一代码是写入控制台的命令,没有更改任何设置。
希望这有帮助!
答案 1 :(得分:47)
谢谢Sean让我意识到这个问题的完全白痴。让我成为其他人不要跳到结论列车的榜样。
Sean指出“复制粘贴可以使用cmd.exe的内置功能完成”,让我认识到,是的,绝对是,当你在Windows中运行命令行应用程序时,它已经具备了这个功能。
我错误地得出结论,因为我正在通过IDE执行DEBUG执行的所有初始测试,而vshost没有给你这个功能。
一个快速的“开始无调试”揭示了我的近视。
答案 2 :(得分:21)
我不知道为什么没有包含在任何答案中,但正如Robert H.在评论中所述,这是绝对有用的信息,如果您来到这里是通过在 VisualStudio环境:
在调试器中运行控制台应用程序(F5)。您无法复制或粘贴。 在调试器外部运行它(Control + F5)。现在,您可以复制并粘贴。
对我来说就像一个魅力。 谢谢Robert H!
答案 3 :(得分:1)
澄清一下,默认的命令提示符行为是不是对你有用,或者根本不是你想要的?
据我所知,终端实现提供了复制/粘贴行为,它提供的内容与Windows的其余部分不匹配。要更改此行为,您必须切换实现终端的程序。以下是一些谷歌搜索“命令提示替换”的程序:
http://www.powercmd.com/
http://sourceforge.net/projects/console/
在这两个中,我认为我的一位朋友在工作时尝试过“控制台”。它做了他想要的东西,他觉得不需要继续寻找。
如果您只是希望此特定程序的输出更像Windows的其他部分,那么您的另一个选择是使其成为Windows程序。
编辑:修复了控制台的URL。发布到与之相关联的某个人的博客,之前:)
答案 4 :(得分:1)
也许我迟到了,但是在c#中用控制台窗口粘贴文本有一个快捷方式。按Alt + Space然后按E' E'那么' P'并且您已在控制台窗口中粘贴文本