从Word复制文本并从剪贴板获取文件位置

时间:2017-03-08 13:15:53

标签: c# windows clipboard

我想实现以下目标:

我在Word应用程序(或其他使用文本更新剪贴板的应用程序)中复制一些文本。我现在想知道Word文档的位置路径,因此我可以存储路径并打开文档以供稍后参考。

我也想为网站做这些,所以我可以获得复制文本的网站。

我想在C#和Windows 10中执行此操作。我最初的想法是创建一个 CTRL + C 事件侦听器,找到活动的应用程序并获取类似的位置那。但是我无法将复制的文本和文本路径链接在一起。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以检索此类信息,但有限制。当剪贴板中没有存储此类信息时,您运气不好,但是,希望对您而言,许多应用程序会在剪贴板中存储更多数据以及文本,包括文档的路径或URL。

使用不同不同格式跟踪文档位置的不同应用程序,因此主要的想法是尝试从剪贴板中逐个读取包含文档位置的所有相关剪贴板格式,并尝试提取位置。

这里有几种包含或可能包含您需要的信息的剪贴板格式:

您可以找到有关不同剪贴板格式here的更多信息。您还可以使用任何clipboard format viewer来查看不同应用程序实际存储在剪贴板中的内容。

例如,所有现代浏览器和所有 Microsoft Office套件应用程序将HTML Format中的剪贴板实际文档位置存储为简单纯文本:

Version:1.0
StartHTML:000000271
EndHTML:000008359
StartFragment:000008219
EndFragment:000008255
StartSelection:000008219
EndSelection:000008255
SourceURL:http://stackoverflow.com/questions/42672385/copy-text-from-word-and-get-file-location-from-clipboard-c-sharp
...

答案 1 :(得分:0)

恐怕你不能这样做。剪贴板中未提供此信息。

即使你听Ctrl + C并找到一个活动的Word运行实例,你仍然不会100%得到你需要的东西。它可能是一个新文档,甚至还没有保存在磁盘上。更复杂的情况:用户从Word中对话框的编辑字段中复制一些文本。

相关问题