C#复制到剪贴板

时间:2013-10-31 13:31:05

标签: c# clipboard

我想在C#中创建一个控制台应用程序,用户将在其中键入内容,让我们说“Dave”,然后输出“Name:Dave”并将“Name:Dave”复制到用户剪贴板。那么有没有办法让“Name:”+ Console.ReadLine();自动复制到用户剪贴板?

3 个答案:

答案 0 :(得分:35)

您需要引用命名空间:

using System.Windows.Forms;

然后你可以使用:

Clipboard.SetText("Whatever you like");

修改

这是一个适合我的复制和粘贴解决方案

using System;
using System.Windows.Forms;

namespace ConsoleApplication1
{
    class Program
    {
        [STAThread]
        private static void Main(string[] args)
        {
            Console.WriteLine("Say something and it will be copied to the clipboard");

            var something = Console.ReadLine();

            Clipboard.SetText(something);

            Console.Read();
        }
    }
}

答案 1 :(得分:14)

使用

System.Windows.Forms.Clipboard.SetText(message)

其中message是要复制的字符串。

虽然System.Windows.Forms命名空间是为Windows窗体设计的,但其API中的许多方法甚至在控制台/其他非Winforms应用程序中也具有重要用途。

答案 2 :(得分:0)

1:您需要添加对 System.Windows.Forms 的引用,如下所示:

Solution Explorer 中右键单击您的项目并选择 Add reference...,然后找到 System.Windows.Forms 并添加它。 (look at this answer)

2:然后您可以使用下面的行将 System.Windows.Forms 添加到您的代码中,并确保将其正确放置在其他 using(s) 的位置:

using System.Windows.Forms;

3:在 [STAThread] 函数的顶部添加 Main,所以它应该是这样的:

[STAThread]
static void Main(string[] args)
{
      ....
}
    

4:随意使用Clipboard,例如:

Clipboard.SetText("Sample Text");