.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
 

C# 操作剪贴板

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

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

来源1:http://www.cnblogs.com/webcyz/archive/2011/06/29/2092946.html
  • u012744024
  • u012744024
  • 2014年03月13日 17:25
  • 841

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

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

c#实现Windows剪贴板监视器

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

C#如何保存剪贴板内容,在使用后恢复。

C# clipboard类封装了对剪贴板的操作,一般使用没有问题。但由于clipboard封装的数据类型有限,对于一些自定义类型的剪贴板数据,如果想占用剪贴板并在使用后原样恢复剪贴板的数据就会产生问题...
  • vencon_s
  • vencon_s
  • 2015年06月03日 14:25
  • 996

C#如何判断操作系统位数是32位还是64位

方法一: 对于C#来说,调用WMI是一种简单易行的方式。我们可以用Win32_Processor类里面的AddressWidth属性来表示系统的位宽。AddressWidth的值受CPU和操作系统的...
  • a497785609
  • a497785609
  • 2014年03月18日 11:09
  • 5084

C#中使用系统剪切板

在C#中,我们可以使用静态类System.Windows.Clipboard 来使用系统剪切板复制和剪切内容。 Clipboard.SetText函数,向剪切板中插入内容,将制定的内容添加到剪切板; ...
  • Libby1984
  • Libby1984
  • 2017年06月06日 09:03
  • 554

在剪切板中使用自定义格式的数据

void TestManualFormatClipboard() { //自定义数据结构体 typedef struct _MYSTRUCT { CHAR charV...
  • zgl7903
  • zgl7903
  • 2013年04月08日 12:50
  • 2300

最全的C#图片处理类ImageHelper.cs

【图片处理】最全的C#图片处理类ImageHelper.cs http://bbs.cskin.net/forum.php?mod=viewthread&tid=113&fromuid=2446 ...
  • liwb1987
  • liwb1987
  • 2015年04月21日 14:48
  • 3879

Java剪切板操作大全

提起剪切板,一般都是在桌面系统或工具中使用。目前,操作Java剪切板有两种形式,这也对应着两种不同的技术Swing和JavaFX。而剪切板有可以分为系统剪切板和自定义剪切板。顾名思义,系统剪切板可以在...
  • alanzyy
  • alanzyy
  • 2015年10月14日 21:56
  • 2679
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.net C# 操作系统剪切板处理模块
举报原因:
原因补充:

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