gpt4 book ai didi

cocoa - 在 Mac OS 中监视剪贴板

转载 作者:行者123 更新时间:2023-12-03 16:20:42 25 4
gpt4 key购买 nike

我需要在我的 macOS 应用程序中监视剪贴板事件。我找到了 clipboard viewer 的样本另一个 question在 stackoverflow 中要求同样的事情,但他们都没有关于如何监视剪贴板事件的解决方案。

也就是说,在用户点击 command + c 后,我立即收到一个事件通知。我知道该功能存在,因为有 app使用此功能

想法?

最佳答案

我用 native Java 编写了一个剪贴板监听器 [它将打印进入剪贴板的每个新的基于文本的信息],请参阅以下代码:

import java.awt.Toolkit;  
import java.awt.datatransfer.*;
import java.io.IOException;

public class ClipboardListener extends Thread implements ClipboardOwner {

Clipboard systemClipboard = Toolkit.getDefaultToolkit().getSystemClipboard();

public void run(){
Transferable selection = systemClipboard.getContents(this);
gainOwnership(selection);
while (true) {}
}

public void gainOwnership(Transferable t){
try {this.sleep(100);}
catch (InterruptedException e) {}
systemClipboard.setContents(t, this);
}

public void lostOwnership(Clipboard clipboard, Transferable contents) {
try {System.out.println((String) clipboard.getData(DataFlavor.stringFlavor));}
catch (UnsupportedFlavorException e) {}
catch (IOException e) {}
gainOwnership(contents);
}
}
<小时/>
public class myApp {

public static void main(String[] args){
ClipboardListener listener = new ClipboardListener();
listener.start();}
}

它可以工作,但应用程序需要焦点才能从剪贴板获取事件。 [我不是 Mac OS X 开发人员,所以我不知道如何解决这个问题,实际上我已经发布了 question关于它...]

关于cocoa - 在 Mac OS 中监视剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7072533/

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