C# 线程间不能调用剪切板的问题 续集

原创 2016年05月30日 15:30:24

C# 线程间不能调用剪切板的问题  续集

获取剪切板的数据,将剪切板的数据返回

/// <summary>
        /// 从剪切板获取捕捉到的位图(Bitmap)
        /// </summary>
        /// <returns></returns>
        public Bitmap GetCaptureBitmap()
        {
            IDataObject iData = Clipboard.GetDataObject();
            Bitmap bmp = null;
            try
            {
                if (iData != null)
                {
                    if (iData.GetDataPresent(DataFormats.Bitmap))
                    {
                        bmp = (Bitmap)iData.GetData(DataFormats.Bitmap);
                    }
                    else if (iData.GetDataPresent(DataFormats.Dib))
                    {
                        bmp = (Bitmap)iData.GetData(DataFormats.Dib);
                    }
                    #region
                    //这一部分相当于要截取图像中心聚焦区域,裁切掉四周无用区域
                    //PictureBox bp = new PictureBox();
                    //bp.Width = nBmpWidth;
                    //bp.Height = nBmpHeight;
                    //bp.SizeMode = PictureBoxSizeMode.CenterImage;
                    //bp.Image = image;
                    //bmp = new Bitmap(bp.Image, bp.Width, bp.Height);
                    #endregion
                }
                Clipboard.Clear();
            }
            catch (Exception ex)
            {
                LogHelper.WriteFile("error:剪切板抓取位图异常!原因:" + ex.Message);
            }
            return bmp;
        }

        /// <summary>
        /// 从剪切板获取捕捉到的位图(Image)
        /// </summary>
        /// <returns></returns>
        public Image GetCaptureImage()
        {
            IDataObject iData = Clipboard.GetDataObject();
            Image image = null;
            try
            {
                if (iData != null)
                {
                    if (iData.GetDataPresent(DataFormats.Bitmap))
                    {
                        image = (Image)iData.GetData(DataFormats.Bitmap);
                    }
                    else if (iData.GetDataPresent(DataFormats.Dib))
                    {
                        image = (Image)iData.GetData(DataFormats.Dib);
                    }
                    #region
                    //这一部分相当于要截取图像中心聚焦区域,裁切掉四周无用区域
                    //PictureBox bp = new PictureBox();
                    //bp.Width = nBmpWidth;
                    //bp.Height = nBmpHeight;
                    //bp.SizeMode = PictureBoxSizeMode.CenterImage;
                    //bp.Image = image;
                    //bmp = new Bitmap(bp.Image, bp.Width, bp.Height);
                    #endregion
                }
                Clipboard.Clear();
            }
            catch (Exception ex)
            {
                LogHelper.WriteFile("error:剪切板抓取位图异常!原因:" + ex.Message);
            }
            return image;
        }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C# 线程间不能调用剪切板的问题

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

兼容所有浏览器的复制到剪切板功能,悬浮层不能复制问题解决

浏览器复制其实是一个十分令人头疼的问题,因为这涉及到浏览器安全,所以浏览器本生不会提供相应接口,我们也没有办法通过纯js来实现这个功能,但是你会看到很多网站,如百度云盘他们却做到了这个功能,那究竟他们...

c#在最小化为托盘时,无法监听剪切板(clipboard)复制数据时候的变化

在做C#开发中,有一个需求是写一个托盘程序用于监听剪贴板的数据复制。 我遇到的问题是在正常情况下可以监听clipboard的数据变化,但是当我缩小为托盘程序的时候,托盘程序就无法监听剪贴板的数据变化了...

c#频繁读取word文件 所请求的剪切板操作失败 解决方法

前段时候在为学校做作业抄袭检测系统,当读入大量word文档时经常会出现 所请求的剪切版操作失败,如下图: 以下是读word文档时所用的源代码: protected void openFile(...

C#监控剪切板(转)

C#监控剪切板 2009-11-24 16:44   昨天看到一同学用灵格斯复制一个单词,发现复制的单词自动增加到了另C#写的程序里面去了。一时感觉还挺新鲜的,就想探讨一下。     这个功能...

.NET web C#通过剪切板取出word中图片

.NET web C#通过剪切板取出word中图片 前台代码: 添加引用 后台实现代...

Visual C#的剪切板編程(转)

Visual C#是微软.Net框架中的一个重要的程序开发语言,虽然在.Net框架中还有其它的程序开发语言,但微软似乎对Visual C#更喜爱有加。这同时也就决定了Visual C#在.Net框架中...

C#中使用系统剪切板

在C#中,我们可以使用静态类System.Windows.Clipboard 来使用系统剪切板复制和剪切内容。 Clipboard.SetText函数,向剪切板中插入内容,将制定的内容添加到剪切板; ...

剪切板编程中遇到的一个问题

之前在开发一个新功能的时候,需要将文件的路径信息通过剪切板传递给指定的目标。于是就需要将文件信息写入到剪切板中,获取方则从剪切板中读取想要获取的路径信息。剪切板是通过全局内存来共享数据的,存放数据的内...

VMware Workstation中客户机与主机之间无法复制文件和剪切板问题解决

今天本来不想写这种小问题,可是这个问题不停地出现了三次了,每次解决之后就有一种莫名的解脱,因为都是重装,而且奇葩的是每次都可以用这种方式解脱,因此,还是决定写一篇短小精悍的博客,留着自己以后看也好具体...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)