C# 에서 clipboard 사용할 때는 System.Windows.Forms 사용한다.
그런데 그냥 하다 보니 단순하게 Clipboard 를 사용하면 Thread 관련 에러가 난다.
해결 방법을 찾아보니 아래 주소에 그 해결 방법이 있었다.
http://stackoverflow.com/questions/3546016/how-to-copy-data-to-clipboard-in-c-sharp
해결 방법은 간단하다. [STAThreadAttribute] 를 main 위에 넣어 주면 된다.
샘플 코드는 아래와 같다.
using System;
using System.Windows.Forms;
namespace Test
{
class
Program
{
[STAThreadAttribute]
public
static
void
Main(string[] args)
{
string a = Clipboard.GetText();
System.Console.WriteLine(a);
Clipboard.SetText("Hello, clipboard");
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
}
위 코드를 실행해보면 Clipboard 의 text 값을 a 라는 변수에 넣게 되고 "Hello, clipboard" 라는 text 값을 Clipboard 에 넣게 된다.
위 코드 실행 후에 아무 에디터에 CTRL+V 를 통해 붙여 넣기를 해보면 Hello, clipboard 라는 글자가 들어감을 확인 할 수 있다.
'programming language > C#' 카테고리의 다른 글
C# Command Line Build (0) | 2017.12.20 |
---|---|
visio 2013 AP SystemI.Runtime.InteropServices.COMException (0x86DB09C6) 에러 날때 (0) | 2017.02.09 |
C# Microsoft.Office.Interop.Word 사용하여 만든 프로그램 배포시 에러 나는 경우 (0) | 2016.10.13 |
Visual studio 없이 C# 컴파일 하기 (0) | 2015.12.28 |
댓글