Articles of 剪贴板

linux剪贴板读/写在C

我做了大量的search,但我仍然不确定如何进行。 在Linux下读/写剪贴板的最常用方法是什么? 我希望同时支持Gnome和KDE桌面。 更新 :我有没有一个简单的解决scheme,你必须“聚合”多个来源(GNOME,KDE),以制定一个解决scheme?

从less量复制特定行

最后search谷歌后,我决定写在stackoverflow上,我找不到任何解决我的简单问题,所以我更加惊讶。 问题是: 如何复制一个特定的行less? 比方说我打开一个男人(这是默认打开less),并希望select和复制到剪贴板,然后让可以说粘贴到VIM打开的文件? 我不想用鼠标滚轮粘贴。 我正在寻找一个简单的Ctrl-c , Ctrl-v方法在Windows中。 当打开一个手册页时,我不能用' v '键切换到我的默认编辑器(这是vim),因为用“ Cannot edit standard input ”错误的呼声较less。 如果这个问题很愚蠢,非常感谢。

从命令行复制图像到剪贴板

我正在使用ImageMagick将我的屏幕的一部分复制到一个临时文件(something.png)。 我现在想直接从命令行将这个文件的内容粘贴到剪贴板中。 到目前为止我的脚本是这样的: #!/bin/bash TMPFILE=$(mktemp) FORMAT='.PNG' SCREENSHOT_FILE=${TMPFILE}${FORMAT} mv "$TMPFILE" "$SCREENSHOT_FILE" import "$SCREENSHOT_FILE" cat "$SCREENSHOT_FILE" | parcellite rm "$SCREENSHOT_FILE" Parcellite完美的命令行复制和粘贴,但我不能让它与图像工作。 我认为这不是parcellite的一个特点。 我怎么能这样做呢?

无法快速将文件复制到Linux计算机中的剪贴板

我还没有find一个简单的解决scheme,将您的文件复制到Linux中的剪贴板,类似于Mac cat file | pbcopy 我试图在Vim中使用下面的命令失败 :copy 1,9999999 复制文件。 如何在Linux中快速将文件复制到剪贴板,然后将其粘贴到dpaste?

有没有办法直接发送一个Python输出到剪贴板?

例如,如果一个python脚本会吐出一个string,给出一个新编写的文件的path,我将在运行该脚本之后立即编辑这个文件,将它直接发送到系统剪贴板而不是STDOUT将是非常好的。

xwindow剪贴板的机制

任何人都可以向我解释xwindow剪贴板的机制吗? 例如,如果我从gedit中打开一个文件并使用ctrl + c复制这个文件的内容。 然后我打开vim并使用Ctrl + V将内容粘贴到新打开的文件中。 我知道它将使用xwindow的缓冲区来存储内容。 但我很好奇它是如何在系统级别工作的。 更具体地说,底层的linux内核需要如何处理这个复制粘贴操作? 是否有与此操作相关的系统调用? 谢谢

如何将HTML和文本都复制到剪贴板?

我试图同时放入HTML和纯文本的剪贴板片段,以便支持HTML的编辑器可以粘贴HTML,而其他编辑器可以使用纯文本。 Clipboard.SetData(DataFormats.Html, htmlWithHeader); Clipboard.SetData(DataFormats.UnicodeText, plainText); 但只有最后一个格式实际上被放到剪贴板。 在上面的示例中,剪贴板将只包含明文(如Clipboard.GetDataObject().GetFormats() )所示。 如果我换行,剪贴板将只有HTML格式。 我怎样才能把两种格式同时放入剪贴板?

如何使用C#将CSV数据粘贴到Windows剪贴板

我正在努力完成的 我的应用程序生成一些表格数据 我希望用户能够启动Excel并单击“粘贴”将数据作为单元格放入Excel中 Windows接受一种称为“CommaSeparatedValue”的格式,它与API一起使用,所以这似乎是可能的 将原始文本放在剪贴板上,但是尝试使用这种格式不行 注:我可以从剪贴板正确检索CSV数据,我的问题是关于将CSV数据粘贴到剪贴板。 我曾尝试过,这是行不通的 Clipboard.SetText() System.Windows.Forms.Clipboard.SetText( "1,2,3,4\n5,6,7,8", System.Windows.Forms.TextDataFormat.CommaSeparatedValue ); Clipboard.SetData() System.Windows.Forms.Clipboard.SetData( System.Windows.Forms.DataFormats.CommaSeparatedValue, "1,2,3,4\n5,6,7,8", ); 在这两种情况下,剪贴板上都放置了一些东西,但是当粘贴到Excel中时,它会显示为一个garbarge文本的单元格:“-§žý; pC|yVk” 更新1:使用SetText()的解决方法 正如BFree的答案所示,使用TextDataFormat的 SetText作为解决方法 System.Windows.Forms.Clipboard.SetText( "1\t2\t3\t4\n5\t6\t7\t8", System.Windows.Forms.TextDataFormat.Text ); 我已经尝试过,并确认现在粘贴到Excel和Word正常工作。 在每种情况下,它粘贴为单元​​格而不是明文的表格。 仍然好奇为什么CommaSeparatedValue 不工作。

如果不重置剪贴板链,可以中止一个进程吗?

我有一个程序在启动时调用SetClipboardViewer来注册剪贴板更改通知。 在关机时,它会调用ChangeClipboardChain从链中正确地移除它自己。 只要程序正常运行,这一切都很棒。 但是,这让我想知道,如果程序被终止,或者我在debugging器下杀死它,崩溃,或者由于用户因为出错而杀了进程,会发生什么? 那么清理就不会发生。 能以某种方式给系统造成麻烦吗? 具体来说,我知道Windows可以毫无困难地删除我的查看器,因为它是一个句柄,当进程终止时,Windows可以清理所有的句柄,但是这会导致链中的下一个值,我持有一个引用,迷路不知何故?

用一个Python脚本在Linux,Mac和Windows上复制剪贴板中的数据

我正在尝试在Python中创build一个脚本,它将收集用户放入剪贴板的数据,并最好将其保存为列表或文本文件或string/数组/variables,以便以后使用。 这应该在Linux的所有版本(我会承担Ubuntu),Mac OS所有版本和Windows所有版本。 我不知道32位和64位系统是否有不同的方式来访问剪贴板上的数据,如果他们这样做我想这是32位版本的工作是安全的,所以运行64位版本的人可以回落到32位操作系统的版本。 除了必须处理上述操作系统之外,棘手的部分是,只要用户不停止脚本,我就希望脚本运行,而在运行过程中,用户复制到剪贴板的所有数据都将被复制列表或文本文件或string/数组/variables。 当然,用户可以在剪贴板中input数据的时间是有限制的,所以我正在考虑每隔一秒或每500毫秒进行一次循环扫描,检查内容是否已经改变,如果已经复制,否则不要复制它。 有没有一个统一的方式或模块在所有不同的操作系统上执行此操作,还是为各种操作系统编写用于此任务的独立脚本更好? 问题是,这是我希望在Linux,Mac和Windows上开展工作的一个更大的项目的一部分,因此将这三个选项覆盖,然后使用Python代码在脚本的其余部分可以在所提到的操作系统上使用/项目将是理想的。 我从这个脚本中总得问得太多了,不得不在Linux,Mac和Windows上工作?