我遇到了与上面链接中描述的相同的问题。提问者给出以下答案:
EnumClipboardFormats已更新以防止调用者在内容被运行在不同完整性级别 (IL)频带中的进程复制到剪贴板时读取/枚举“不受信任的”剪贴板格式。用于将数据复制到剪贴板的进程在SECURITY_MANDATORY_MEDIUM_RID波段中运行,而进程调用在SECURITY_MANDATORY_SYSTEM_RID波段中运行,因此调用的进程只返回剪贴板格式。EnumClipboardFormatsEnumClipboardFormatsDataObject
我在不同的操作系统上对其进行了测试,发现测试演示可以在win7和win10中将注册的剪贴板格式枚举为Local System,但DataObject 在windows server2016中只是返回。我还将进程的完整性级别(IL)降低到SECURITY_MANDATORY_HIGH_RID但返回DataObject与以前相同。
那么除了 IL 之外还有其他因素可能会影响枚举剪贴板格式的过程吗?如何使用在本地系统下运行的进程枚举所有已注册的剪贴板格式?