private void button1_Click(object sender, EventArgs e)
{
new Task(myFunction).Start();
}
private void myFunction()
{
RunAsSTAThread(
() =>
{
ClClipboard.GetText();
});
}
static void RunAsSTAThread(Action goForIt)
{
AutoResetEvent @event = new AutoResetEvent(false);
Thread thread = new Thread(
() =>
{
goForIt();
@event.Set();
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
@event.WaitOne();
}
OLE 호출전 단일 스레드로 동작해야함
[STAThreadAttribute]
public void run()
{
}