biuuuuu
V2EX  ›  问与答

Windows 如何自动地对剪切板内容进行读取写入?

  •  
  •   biuuuuu · Jul 12, 2023 · 1460 views
    This topic created in 1070 days ago, the information mentioned may be changed or developed.

    公司电脑需要远程桌面上网,但是管理员把复制粘贴给禁止了,也就是远程桌面复制的内容没法本机粘贴,反过来也是一样。

    本机和远程目录有一个共享文件夹,本机需要下载内容时是在远程桌面下载到这个文件夹中。现在想法是在这个文件夹里面建立一个文本文件,每次 Ctrl+C 的时候复制之后顺便将剪切板内容保存到该文件中,每次 Ctrl+V 的时候事先将该文件内容读取到剪切板后再进行常规粘贴。

    查了很久也是一头雾水,请问该怎么实现这个想法呢?

    5 replies    2023-07-12 11:43:25 +08:00
    blackbeardd
        1
    blackbeardd  
       Jul 12, 2023
    写个复制粘贴的事件监听不就行了么
    misdake
        2
    misdake  
       Jul 12, 2023 via Android
    发送端监听剪贴板,可以搜索 SetClipboardViewer ,还能找到个 c#的完整程序带代码。监听到就写文件。
    接收端监听文件修改。不过如果文件不在本地的话可能 FileSystemWatcher 监听不到?不太确定。最好是文件放在接收端。
    em70
        3
    em70  
       Jul 12, 2023
    写个脚本每一秒读取一次剪贴板,当剪贴板内容改变且不为空,则将内容写到共享文件夹指定文本文件中
    LaFayette
        4
    LaFayette  
       Jul 12, 2023
    用 ditto
    biuuuuu
        5
    biuuuuu  
    OP
       Jul 12, 2023
    试了一下大家的建议,因为不太懂复制粘贴监听事件,感觉写不出来。目前我掌握的是:文件到剪切板的命令为`clip < Z:test.txt`,剪切板到文件的命令为`powershell -sta "add-type -as System.Windows.Forms; [windows.forms.clipboard]::GetText()" > Z:test.txt`

    现在的情况是我需要按下 Ctrl+C 的时候:先执行默认的 Ctrl+C ,然后执行命令一;按下 Ctrl+V 的时候:先执行命令二,然后执行默认的 Ctrl+V

    请问这个该如何实现呢。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5251 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 09:14 · PVG 17:14 · LAX 02:14 · JFK 05:14
    ♥ Do have faith in what you're doing.