.net C# 操作系统剪切板处理模块

转载 2007年10月11日 09:25:00

public static bool SetTextToClipboard(string strText)

        {

            if (strText != null && strText.Length > 0)

            {

                try

                {

                    Clipboard.SetDataObject(strText, true);

                    return true;

                }

                catch (Exception e)

                {

                    MessageBox.Show("失败:" + strText + ":" + e.Message);

                }

            }

            return false;

        }

        /// <summary>

        /// 从操作系统剪切板获得文本

        /// </summary>

        /// <returns>获得的文本,若操作失败则返回空对象</returns>

        public static string GetTextFromClipboard()

        {

            try

            {

                return Clipboard.GetData(DataFormats.Text).ToString();

 

            }

            catch

            { }

            return null;

        }

 

/**//// <summary>
    
/// 操作系统剪切板处理模块,提供的方法为静态函数
    
/// </summary>
    
/// <example>
    
/// C#语言中使用该类的例子,从操作系统剪切板获得纯文本数据
    
/// // 判断操作系统剪切板是否保存了纯文本数据
    
/// if( ClipboardHandler.CanGetText())
    
/// {
    
///        // 返回获得的纯文本数据
    
///        return ClipboardHandler.GetTextFromClipboard();
    
/// }
    
///
    
/// 向操作系统剪切板设置纯文本数据
    
/// string strText = "要设置的纯文本数据";
    
/// ClipboardHandler.SetTextToClipboard( strText );
    
/// </example>

    public class ClipboardHandler
    
...{

        
/**//// <summary>
        
/// 是否可以从操作系统剪切板获得文本
        
/// </summary>
        
/// <returns>true 可以从操作系统剪切板获得文本,false 不可以</returns>

        public static  bool CanGetText()
        
...{
            
// Clipboard.GetDataObject may throw an exception...
            try
            
...{
                System.Windows.Forms.IDataObject data 
= System.Windows.Forms.Clipboard.GetDataObject();
                
return data != null && data.GetDataPresent(System.Windows.Forms.DataFormats.Text);
            }

            
catch (Exception e)
            
...{
                
return false;
            }

        }

//
//        /// <summary>
//        /// 是否可以向操作系统剪切板设置文本
//        /// </summary>
//        /// <returns></returns>
//        public static bool CanSetText()
//        {
//            return true;
//        }

        
/**//// <summary>
        
/// 向操作系统剪切板设置文本数据
        
/// </summary>
        
/// <param name="strText">文本数据</param>
        
/// <returns>操作是否成功</returns>

        public static  bool SetTextToClipboard(string strText)
        
...{
            
if (  strText != null && strText.Length > 0 )
            
...{
                
try
                
...{
                    System.Windows.Forms.DataObject dataObject 
= new System.Windows.Forms.DataObject();
                    dataObject.SetData(System.Windows.Forms.DataFormats.UnicodeText  , 
true, strText );
                    System.Windows.Forms.Clipboard.SetDataObject(dataObject, 
true);
                    
return true;
                }

                
catch
                
...{
                    
                }

            }

            
return false;
        }


        
/**//// <summary>
        
/// 从操作系统剪切板获得文本
        
/// </summary>
        
/// <returns>获得的文本,若操作失败则返回空对象</returns>

        public static  string GetTextFromClipboard()
        
...{
            
try
            
...{
                System.Windows.Forms.IDataObject data 
= System.Windows.Forms.Clipboard.GetDataObject();
                
if( data.GetDataPresent(System.Windows.Forms.DataFormats.UnicodeText))
                
...{
                    
string strText = ( string) data.GetData( System.Windows.Forms.DataFormats.UnicodeText);
                    
return strText;
                }

            }

            
catch
            
...{}
            
return null;
        }


//参见:http://dev.csdn.net/article/65/65803.shtm
 

深入.NET平台和C#编程

介绍C#面向对象技术和.NET框架技术,是学习C#语言的必修课!
  • 2017年10月24日 21:19

C# 操作剪贴板

 //将非持久性数据置于系统剪贴板中。 Clipboard.SetDataObject("这条信息置于剪切板中,相当于Ctrl+C"); //获取剪切板中文本格式的内容,相当于Ctrl+V(...
  • jsjyyjs07
  • jsjyyjs07
  • 2015-07-16 22:11:06
  • 3152

WIN7下使用.net(C#)监视剪贴板

最近需要做一个小程序,需要常驻后台,监视剪贴板变化并提取内容, 在网上查了一些资料,先采用SetClipboardViewer方法实现,具体原理可以参考http://www.cnblogs.com/...
  • rrrrssss00
  • rrrrssss00
  • 2012-04-06 09:16:07
  • 5300

c#发送数据到剪贴板及从剪贴板获取数据

c#发送数据到剪贴板及从剪贴板获取数据
  • yangyisen0713
  • yangyisen0713
  • 2014-08-08 22:36:48
  • 4345

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

.NET web C#通过剪切板取出word中图片 前台代码: 添加引用 后台实现代...
  • MajorMayer
  • MajorMayer
  • 2015-12-30 16:01:14
  • 937

用 C# 监视剪贴板的活动状态

原文地址:http://www.developer.com/net/csharp/article.php/3359891,翻译的不好的地方望指出。 概述 一步一步的教导 概述当剪贴板上的...
  • qilinfei
  • qilinfei
  • 2007-11-14 10:00:00
  • 3874

进程间通信详解 - 剪贴板实现

引子 由于在启动一个进程后,操作系统会给这个进程分配 4GB 的私有地址空间,至于为何有 4GB 这么大, 那得考虑进程的私有地址空间和实际物理内存地址空间之间的映射以及页交换等等细节问题...
  • yuepeng_csdn
  • yuepeng_csdn
  • 2016-07-31 15:56:20
  • 512

c#实现Windows剪贴板监视器

Windows剪贴板剪贴板(ClipBoard)是内存中的一块区域,是Windows内置的一个非常有用的工具,通过小小的剪贴板,架起了一座彩桥,使得在各种应用程序之间,传递和共享信息成为可能。然而美中...
  • testcs_dn
  • testcs_dn
  • 2015-01-03 18:18:49
  • 7177

ASP.net操作剪贴板对象

ASP.net操作剪贴板对象
  • binsweet
  • binsweet
  • 2010-06-21 20:16:00
  • 4988

C#剪切板编程操作图片、音乐、txt==文件(神样的代码,找了好久)

来源1:http://www.cnblogs.com/webcyz/archive/2011/06/29/2092946.html
  • u012744024
  • u012744024
  • 2014-03-13 17:25:10
  • 973
收藏助手
不良信息举报
您举报文章:.net C# 操作系统剪切板处理模块
举报原因:
原因补充:

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