最近做一个项目,需要用到线程,而且要用到剪切板,创建了一个子线程之后发现在子线程中剪切板上获取不到数据,当时特别纳闷,上网查资料,最后终于搞定,现将解决方法归纳如下:

第一步:

public void btnAutoFocus_Click(object sender,EventArgs e)

{

Thread myThread = new Thread(msc.AutoFocusArithmetic);

//注意,一般启动一个线程的时候没有这句话,但是要操作剪切板的话这句话是必需要加上的,因为剪切板只能在单线

//程单元中访问,这里的STA就是指单线程单元

myThread .SetApartmentState(ApartmentState.STA);

myThread .Start();

}

第二步:还需要将Program启动类中

static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]  //这句话保留,如果要在主线程中访问剪切板,这句式必须要的,如果要在子线程中访问剪切板,这个应该可以不要,但是默认是有的,不过这个我没有测试过不要这句话是什么结果,后面有时间测试之后再发博文
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
        }
    }

第三步:这个是读取剪切板数据,

private Image GetCaptureImage()
{
        IDataObject iData = Clipboard.GetDataObject();
        Image img = null;
        if (iData != null)
        {
             if (iData.GetDataPresent(DataFormats.Bitmap))
             {
                  img = (Image)iData.GetData(DataFormats.Bitmap);
             }
             else if (iData.GetDataPresent(DataFormats.Dib))
             {
                  img = (Image)iData.GetData(DataFormats.Dib);
             }
        }
        return img;

}

转载于:https://www.cnblogs.com/as3lib/p/6418186.html

C# 线程间不能调用剪切板的问题相关推荐

  1. python 调用剪切板

    python 调用剪切板 import pyperclip data="这是我准备复制的内容" # 复制 只能复制字符串,使用时需要将其他数据类型的数据转化位字符串 pypercl ...

  2. Python调用剪切板的几种方法

    最近在网上搜索Python调用剪切板的方法,得到比较多的说法是调用ctypes包中自带的函数get_clipboard和set_clipboard函数,可是但我动手实现时却发现根本没有这两个函数,于是 ...

  3. 【script】python调用剪切板

    仅windows: import win32clipboard, win32con# 剪切板输出 def getclipboard():win32clipboard.OpenClipboard()te ...

  4. iPhone用户状告App厂商手脚不干净,偷窥我电脑剪切板干什么

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI iOS 14 Beta版一出,多家App都原形毕露了. iOS 14加入了更强的隐私管理功能,如果手机App调用摄像头.麦克风,会在状态栏 ...

  5. java 线程resume_为什么java线程不推荐调用stop,suspend,resume方法

    标签: 一.stop stop方法不推荐调用,官方说发是"可能发生不可预测的问题".其实线程在调用stop方法后,会停止自己.线程停止的时候,会直接停止执行,并释放自己正在使用的锁 ...

  6. 剪切板是计算机系统,剪切板

    剪切板是指windows 操作系统提供的一个暂存数据,并且提供共享的一个模块.也称为数据中转站,剪切板在后台起作用,保存在内存里,是操作系统设置的一段存储区域,你是在硬盘里找不到的.你只要有文本输入的 ...

  7. 用python做一个剪切板助手

    用Python做剪切板助手 目录 用Python做剪切板助手 程序效果图: 一.构造多线程类 二.构造剪切助手类 剪切板检测变化函数 剪切板操作函数 程序运行函数 操作模式函数 三.实例类并让程序工作 ...

  8. java 监控剪切板_java利用剪切板的作弊工具

    背景及效果 考试又考试,考试何其多 天天为考试,万事成蹉跎 学子皆被分数累,春去秋来没快乐 朝闻老师吼,暮闻家长火 一生考试苦几何,请君听我考试歌 暑假前有个同学要上机考日语,然而对于他这种连书的目录 ...

  9. 【Java从零到架构师第1季】【并发 Concurrent 03】线程间通信_ReentrantLock_线程池

    持续学习&持续更新中- 守破离 [Java从零到架构师第1季][并发 Concurrent 03]线程间通信_ReentrantLock_线程池 线程间通信 线程间通信-示例 可重入锁Reen ...

最新文章

  1. centos镜像 from_【CentOS 7.1】使用163的镜像
  2. 顺序队列,循环队列,链队列
  3. android画布缩放 移动demo,Android:画布无法缩放
  4. Android利用Filter过滤数据
  5. web中ajax实现二级联动,Ajax实现城市二级联动(一)
  6. fastexcel读取excel追加写入sheet页_Python写入和读取excel
  7. asp.net的验证控件教程
  8. bme280中文技术手册_Rhino 6 中文训练手册发布
  9. 分享几款好用到爆的 Chrome 插件!!你们不用,我寝食难安……
  10. linux sipp 呼叫转移_SipP绑定多IP进行注册、呼叫
  11. nmn对卵巢的作用,nmn吃多久对卵巢,女性知识!
  12. IE CSS样式的兼容性问题
  13. input onfocus
  14. 七夕撒狗粮,结婚五周年
  15. python批量下载txt图片批量导入到ppt
  16. FMDB與SQLite 數據庫應用示範:打做一隻簡單的電影資料庫 App
  17. 如何从twitter上爬取数据?
  18. P5200 [USACO19JAN]Sleepy Cow Sorting G
  19. python安装绘图库matplotlib_python绘图库Matplotlib的安装
  20. Android手机调用系统相机拍照、裁剪以及获取Url上传图片

热门文章

  1. Linux内核设计与实现---虚拟文件系统
  2. Ubuntu14.04设置开机可以以root用户身份登录
  3. appium 设置参数
  4. node.js 将文件目录读取 通过匿名函数自执行 将异步改为同步
  5. 【剑指offer】_14 不用加减乘除做加法
  6. 再写循环队列----c++实现
  7. Linux系统编程---8(全局变量异步I/O,可重入函数)
  8. Ubuntu根目录空间不足
  9. java将某个数按比例分配应用题,按比例分配应用题
  10. SpringBoot项目打war包部署Tomcat教程