gpt4 book ai didi

rust - 我可以在CLI应用程序中使用Clipboard.SetContent函数吗?

转载 作者:行者123 更新时间:2023-12-03 11:48:02 25 4
gpt4 key购买 nike

该函数将正确执行,并返回Ok(()),但文本不会被推送到剪贴板中:

pub fn copy_text(text_fragment: winrt::HString) -> winrt::Result<()> {
let data_package = DataPackage::new()?;
data_package.set_text(text_fragment)?;
Clipboard::set_content(data_package)
}
有关Windows运行时API的文档对 Clipboard.SetContent(DataPackage) 函数具有以下声明:

Use this method after creating and defining a DataPackage with the data you want to put on the clipboard. Call this method only when the application is in the foreground, or when a debugger is attached.


没有UI,有什么方法可以使用该功能吗?

最佳答案

我不知道它是否在非UI线程上得到正式支持,但是如果您按如下所示添加对flush的调用,它似乎可以工作:

use windows::application_model::data_transfer::*;

fn main() -> winrt::Result<()> {
let content = DataPackage::new()?;
content.set_text("hello world from Rust")?;
Clipboard::set_content(content)?;
Clipboard::flush()?;

Ok(())
}
flush方法可确保将内容复制到剪贴板上,即使发送应用程序/进程终止,该内容也将保留在剪贴板上。

关于rust - 我可以在CLI应用程序中使用Clipboard.SetContent函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63246461/

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