我可以从C#控制台窗口获得复制/粘贴功能吗?

时间:2010-02-05 20:36:39

标签: c# command-line console console-application copy-paste

我正在使用C#开发一个控制台应用程序,并想知道是否有办法在我的应用程序中获得“复制粘贴”或“标记粘贴”功能,与标准Windows命令提示符相似或相同。这是一个疯狂的追逐或简单的应用变量吗?

5 个答案:

答案 0 :(得分:63)

我已经从控制台窗口复制了文本,并将其多次粘贴到其他来源。

它是控制台应用程序中的默认值;

右键单击控制台边框:

Step 1

选择修改>标记:

Step 2

使用鼠标拖动所需的文本(或使用箭头键)选择所需的文本:

Step 3

再次,右键单击控制台边框,然后选择编辑>复制:

Step 4

从这里,您可以将其粘贴到其他应用程序中,就像使用任何其他文本一样。

这是从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'并且您已在控制台窗口中粘贴文本