标题: [系统相关] [已解决]判断系统剪贴板中的内容类型 [打印本页]
作者: locoman 时间: 2021-12-9 11:03 标题: [已解决]判断系统剪贴板中的内容类型
本帖最后由 locoman 于 2021-12-13 12:46 编辑
请教:
怎么及时判断系统剪贴板中的内容属于哪种类型??
1. 系统剪贴板中内容一般会有哪几种类型?
2. 当前系统剪贴板中内容知否属于图片类型?
3. 如果属于图片类型,就立即清除剪切板内容?
谢谢大神们的指导和帮助!!
作者: for_flr 时间: 2021-12-9 13:00
powershell -sta- if ([System.Windows.Clipboard]::containsimage()){[system.windows.clipboard]::clear()}else{"无图片"}
复制代码
作者: locoman 时间: 2021-12-9 14:18
powershell -sta
for_flr 发表于 2021-12-9 13:00
谢谢您的帮助!!
但是,我运行代码时报错:
C:\Users\Administrator>powershell
Windows PowerShell
版权所有 (C) 2009 Microsoft Corporation。保留所有权利。
PS C:\Users\Administrator> if ([System.Windows.Clipboard]::containsimage()){[system.windows.clipboard]::clear()}else{"无
图片"}
找不到类型 [System.Windows.Clipboard]: 请确保已加载包含此类型的程序集。
所在位置 行:1 字符: 31
+ if ([System.Windows.Clipboard] <<<< ::containsimage()){[system.windows.clipboard]::clear()}else{"无图片"}
+ CategoryInfo : InvalidOperation: (System.Windows.Clipboard:String) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
作者: flashercs 时间: 2021-12-9 14:39
回复 3# locoman - powershell -STA -Command "add-type -AssemblyName PresentationCore;if([System.Windows.Clipboard]::containsimage()){[system.windows.clipboard]::clear()}else{\"无图片\"}"
复制代码
作者: for_flr 时间: 2021-12-9 14:50
回复 3# locoman
启动powershell时,后面加-sta
作者: locoman 时间: 2021-12-10 15:22
本帖最后由 locoman 于 2021-12-10 15:54 编辑
回复 locoman
flashercs 发表于 2021-12-9 14:39
非常感谢大家的热情相助!!(2楼,即使加了powershell -sta,还是报同样的错)
4楼您的代码完全能实现要求——只对剪贴板中截图信息清除了,并不影响剪贴板中复制的文字信息,很好!谢谢您了!!
这个论题真的很有味道,值得深入讨论:
一、目前4楼的代码主要问题是运行很慢,差不多需要近20秒左右才能出结果。
请问:有没有更快的效率更高的方案?
因为,一般的微信、QQ、钉钉等在截屏(截图)的同时,既送给了系统剪贴板,也送给了它自身的应用中,即使清除了剪贴板,它的应用中早就有了截图。
二、我还想在现有的基础上,增加一个“有图片”的回显结果:也就是————剪贴板中不是图片时,不清除剪贴板中的内容,输出回显“无图片”;如果是图片时,在清除剪贴板中的图片的同时还回显一个“有图片”。
还得请您再帮我补充一下,拜托了!!
三、剪贴板中的内容一般分为几类?这些类型都是些啥标识?
作者: flashercs 时间: 2021-12-10 20:45
回复 7# locoman
链接:https://pan.baidu.com/s/1AV5ZJKwsZHHxGIQ7IVSlaQ
提取码:4m1b
两个文件,一个批处理检测,一个exe检测,我测试性能差不多,你自己测试吧.
最好说明win7还是win10 ?
剪贴板数据类型是可变的,可以自己注册新类型;常用类型见左侧列表:https://docs.microsoft.com/en-us ... =netframework-4.7.2
枚举本机所有已注册的剪贴板数据类型,可以用批处理 "枚举剪贴板数据类型.bat",保存到文件 ClipFormats.txt
作者: locoman 时间: 2021-12-13 12:45
回复 locoman
链接:
提取码:4m1b
两个文件,一个批处理检测,一个exe检测,我测试性能差不多,你自 ...
flashercs 发表于 2021-12-10 20:45
还专门弄几个出来测试, 实在是太感谢您了!!
论坛有此热心大神,甚幸!甚幸!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |