异常错误:在能够调用 OLE 以前,必须将当前线程设置为单线程单元(STA)模式

最近作一个蛋疼的东西就是C#调用windows API 来操做一个摄像头,自动处理一些东西。要用到剪切板复制 粘贴功能,即 Clipboard.SetDataObject(filedic, true)等。html

原本测试的时候,经过主线程 按钮点击开始的时候没有任何问题。可是把整个过程放在一个单独一个线程的时候一到复制的时候就报错:windows

“在能够调用 OLE 以前,必须将当前线程设置为单线程单元(STA)模式,请确保您的Main函数带有STAThreadAttribute标记”。函数

解决办法以下:测试

在main函数的入口点:spa

        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        private static void Main(String[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new LoginForm());
        } 

 

 

参考:线程

http://www.javashuo.com/article/p-kswlewnk-hh.htmlcode

https://www.cnblogs.com/boskg/p/5169477.htmlorm