📜  使用跨度复制剪贴板 (1)

📅  最后修改于: 2023-12-03 15:22:26.708000             🧑  作者: Mango

使用跨度复制剪贴板

在开发程序时,经常需要将一些数据从一个应用程序复制到另一个应用程序。这时,我们需要使用剪贴板来传递数据。在Windows操作系统中,剪贴板可以跨越不同的应用程序。

剪贴板API

在Windows操作系统中,可以使用API函数来访问剪贴板。以下是常用的一些API函数:

  • OpenClipboard:打开剪贴板。
  • EmptyClipboard:清空剪贴板。
  • SetClipboardData:向剪贴板中写入数据。
  • GetClipboardData:从剪贴板中读取数据。
  • CloseClipboard:关闭剪贴板。
复制文本到剪贴板

以下是一个示例代码,用于将一个字符串复制到剪贴板:

//打开剪贴板
if (OpenClipboard(IntPtr.Zero))
{
    //清空剪贴板
    EmptyClipboard();

    //将字符串分配到托管内存中
    IntPtr hClipboardData = Marshal.StringToHGlobalUni("Hello World");

    //将数据写入剪贴板
    SetClipboardData(CF_UNICODETEXT, hClipboardData);

    //关闭剪贴板
    CloseClipboard();
}
从剪贴板中读取文本

以下是一个示例代码,用于从剪贴板中读取一个字符串:

//打开剪贴板
if (OpenClipboard(IntPtr.Zero))
{
    //获取剪贴板中的数据
    IntPtr hClipboardData = GetClipboardData(CF_UNICODETEXT);

    //将数据转换成字符串
    string clipboardText = Marshal.PtrToStringUni(hClipboardData);

    //关闭剪贴板
    CloseClipboard();

    //显示剪贴板中的字符串
    MessageBox.Show(clipboardText);
}
总结

剪贴板是程序员开发应用程序时经常用到的一种数据传递方式。使用剪贴板API函数可以方便地实现剪贴板的读写操作,为开发者开发高效的应用程序提供了更多的便利。