gpt4 book ai didi

c# - Windows 7剪贴板复制粘贴操作使用C#

转载 作者:可可西里 更新时间:2023-11-01 11:34:24 26 4
gpt4 key购买 nike

我正在开发一个需要使用剪贴板数据的 Windows 应用程序。我正在尝试通过以下代码从剪贴板复制文本。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace MultiValuedClipBoard
{
class Class1
{

public String SwapClipboardHtmlText(String replacementHtmlText)
{
String returnHtmlText = "hello";
if (Clipboard.ContainsText(TextDataFormat.Html))
{
returnHtmlText = Clipboard.GetText(TextDataFormat.Html);
Clipboard.SetText(replacementHtmlText, TextDataFormat.Html);
}
return returnHtmlText;
}
}
}

通过以下方式调用上述函数:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Media;

namespace MultiValuedClipBoard
{
class Program
{
static void Main(string[] args)
{
Class1 aas = new Class1();
string a = aas.SwapClipboardHtmlText("chetan");
Console.WriteLine(a);
Console.ReadLine();
}
}
}

当运行此代码时,它给出输出“Hello”,这是默认值,而不是剪贴板数据。

最佳答案

您的代码将无法工作,原因有二:

[1] 当你说:

if (Clipboard.ContainsText(TextDataFormat.Html))

这里您基本上假设剪贴板已经包含一个文本并且也是 HTML 格式的,但是根据您在剪贴板中设置的值,您看起来并不打算使用预先存在的剪贴板值程序中的任何位置。所以,这个 if 条件不应该存在。

[2] 其次,您还试图将字符串“chetan”设置到剪贴板,这绝对不是 HTML 格式。所以,

            Clipboard.SetText(replacementHtmlText, TextDataFormat.Html);

成为

            Clipboard.SetText(replacementHtmlText, TextDataFormat.Text);

因此,实际上,您的新代码变成了这样:

        String returnHtmlText = "hello";
//if (Clipboard.ContainsText(TextDataFormat.Html))
//{
returnHtmlText = Clipboard.GetText(TextDataFormat.Text);
Clipboard.SetText(replacementHtmlText, TextDataFormat.Text);
//}
return returnHtmlText;

关于c# - Windows 7剪贴板复制粘贴操作使用C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15171492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com