[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]判断系统剪贴板中的内容类型

本帖最后由 locoman 于 2021-12-13 12:46 编辑

请教:
怎么及时判断系统剪贴板中的内容属于哪种类型??
1.  系统剪贴板中内容一般会有哪几种类型?
2.  当前系统剪贴板中内容知否属于图片类型?
3.  如果属于图片类型,就立即清除剪切板内容?

谢谢大神们的指导和帮助!!

回复  locoman


链接:
提取码:4m1b
两个文件,一个批处理检测,一个exe检测,我测试性能差不多,你自 ...
flashercs 发表于 2021-12-10 20:45



还专门弄几个出来测试, 实在是太感谢您了!!
论坛有此热心大神,甚幸!甚幸!

TOP

回复 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
微信:flashercs
QQ:49908356

TOP

本帖最后由 locoman 于 2021-12-10 15:54 编辑
回复  locoman
flashercs 发表于 2021-12-9 14:39



   
非常感谢大家的热情相助!!(2楼,即使加了powershell -sta,还是报同样的错)

4楼您的代码完全能实现要求——只对剪贴板中截图信息清除了,并不影响剪贴板中复制的文字信息,很好!谢谢您了!!


这个论题真的很有味道,值得深入讨论:

一、目前4楼的代码主要问题是运行很慢,差不多需要近20秒左右才能出结果。
请问:有没有更快的效率更高的方案?
因为,一般的微信、QQ、钉钉等在截屏(截图)的同时,既送给了系统剪贴板,也送给了它自身的应用中,即使清除了剪贴板,它的应用中早就有了截图。

二、我还想在现有的基础上,增加一个“有图片”的回显结果:也就是————剪贴板中不是图片时,不清除剪贴板中的内容,输出回显“无图片”;如果是图片时,在清除剪贴板中的图片的同时还回显一个“有图片”。
还得请您再帮我补充一下,拜托了!!

三、剪贴板中的内容一般分为几类?这些类型都是些啥标识?

TOP

回复 3# locoman


    启动powershell时,后面加-sta

TOP

回复 3# locoman
  1. powershell -STA -Command "add-type -AssemblyName PresentationCore;if([System.Windows.Clipboard]::containsimage()){[system.windows.clipboard]::clear()}else{\"无图片\"}"
复制代码
微信:flashercs
QQ:49908356

TOP

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

TOP

powershell -sta
  1. if ([System.Windows.Clipboard]::containsimage()){[system.windows.clipboard]::clear()}else{"无图片"}
复制代码

TOP

返回列表