gpt4 book ai didi

C# 剪贴板.GetText()

转载 作者:可可西里 更新时间:2023-11-01 02:58:59 30 4
gpt4 key购买 nike

如何在非静态线程中获取剪贴板文本?我有一个解决方案,但我正在尝试获得最干净/最短的方法。正常调用时结果为空字符串。

最佳答案

我会添加一个辅助方法,它可以在 MTA 主线程中将 Action 作为 STA 线程运行。我认为这可能是实现它的最简洁的方法。

class Program
{
[MTAThread]
static void Main(string[] args)
{
RunAsSTAThread(
() =>
{
Clipboard.SetText("Hallo");
Console.WriteLine(Clipboard.GetText());
});
}

/// <summary>
/// Start an Action within an STA Thread
/// </summary>
/// <param name="goForIt"></param>
static void RunAsSTAThread(Action goForIt)
{
AutoResetEvent @event = new AutoResetEvent(false);
Thread thread = new Thread(
() =>
{
goForIt();
@event.Set();
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
@event.WaitOne();
}
}

关于C# 剪贴板.GetText(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5944605/

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