0
点赞
收藏
分享

微信扫一扫

C# 非winform调用剪切板导致的“在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。”错误

闲云困兽 2022-03-26 阅读 121
c#

首先程序的入口处需要加上[STAThread]

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

其次在调用的时候,要将剪切板的操作新建一个方法,再通过线程的方式调用他。

    Thread t = new Thread(new ThreadStart(剪切板设置));
    t.SetApartmentState(ApartmentState.STA);
    t.Start();
private void 剪切板设置(string ID) {
            Clipboard.SetData(DataFormats.Text, ID);//复制内容到剪切板
        }
举报

相关推荐

0 条评论