Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法找出将数据复制到剪贴板的源应用程序?_C#_Winforms_Clipboard - Fatal编程技术网

C# 有没有办法找出将数据复制到剪贴板的源应用程序?

C# 有没有办法找出将数据复制到剪贴板的源应用程序?,c#,winforms,clipboard,C#,Winforms,Clipboard,我正在使用剪贴板对象播放复制到剪贴板的数据。假设我有几个应用程序,可以将数据复制到剪贴板,比如Excel、记事本等 我想知道是否有任何函数或方法可以从剪贴板中捕获数据,是否来自Excel或记事本,或者来自未知的应用程序 基于剪贴板类参考,我正在使用C#和.NET 2.0: 您无法准确判断剪贴板中的内容来自哪个应用程序 不过你可以做一些猜测。 例如,从Clipboard.ContainsText方法(TextDataFormat),您可以判断它是否是一个输出/显示HTML、文本、RTF等的应用程序

我正在使用剪贴板对象播放复制到剪贴板的数据。假设我有几个应用程序,可以将数据复制到剪贴板,比如Excel、记事本等

我想知道是否有任何函数或方法可以从剪贴板中捕获数据,是否来自Excel或记事本,或者来自未知的应用程序


基于剪贴板类参考,我正在使用C#和.NET 2.0

您无法准确判断剪贴板中的内容来自哪个应用程序

不过你可以做一些猜测。 例如,从
Clipboard.ContainsText方法(TextDataFormat)
,您可以判断它是否是一个输出/显示HTML、文本、RTF等的应用程序

除此之外,我怀疑您是否可以更进一步。

如果您正在使用api来检测何时将某些内容复制到剪贴板并处理WM_DRAWCLIPBOARD消息,那么您可以使用函数来查找启动该操作的窗口的句柄。使用句柄可以检索可执行文件的进程id和路径