首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 系統剪貼板操作模組:純文字讀寫與格式檢測

     編輯:關於C語言

靜態工具類 `ClipboardHandler`

封裝 `System.Windows.Forms.Clipboard`,提供純文字存取的簡潔 API。

核心方法

1. `CanGetText()`:檢測剪貼板是否含純文字


public static bool CanGetText()
{
    try
    {
        var data = Clipboard.GetDataObject();
        return data != null && data.GetDataPresent(DataFormats.UnicodeText);
    }
    catch { return false; }
}

2. `SetTextToClipboard(string)`:寫入純文字


public static bool SetTextToClipboard(string text)
{
    if (string.IsNullOrEmpty(text)) return false;
    try
    {
        var dobj = new DataObject();
        dobj.SetData(DataFormats.UnicodeText, true, text); // autoConvert=true
        Clipboard.SetDataObject(dobj, true); // copy=true,應用程式結束後仍保留
        return true;
    }
    catch { return false; }
}

3. `GetTextFromClipboard()`:讀取純文字


public static string GetTextFromClipboard()
{
    try
    {
        var data = Clipboard.GetDataObject();
        if (data.GetDataPresent(DataFormats.UnicodeText))
            return (string)data.GetData(DataFormats.UnicodeText);
    }
    catch { }
    return null;
}

使用範例


// 讀取
if (ClipboardHandler.CanGetText())
    string text = ClipboardHandler.GetTextFromClipboard();

// 寫入
ClipboardHandler.SetTextToClipboard("要寫入的文字");

擴展方向

  • 支援 `DataFormats.Rtf`、`Html`、`FileDrop`、`Bitmap` 等格式。
  • 多格式同時寫入:`DataObject.SetData` 多次呼叫,目標應用程式自行選擇最適格式貼上。
  • 非 UI 執行緒存取需 `STAThread` 或 `Dispatcher.Invoke`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved