经过一番确认,真的:
XP SP3 是否实现了 Vista 中的用户界面特权隔离 (UIPI) 机制?
人类兴趣的背景故事 :) 我最近将 C++ 源代码交给了一个相当大的应用程序。遗憾的是,自 90 年代中期以来,该应用程序的唯一开发人员最近去世了,这使我们处于非常紧张的境地,直到我们可以聘请新的开发人员。
最近用户报告说该应用程序随机停止工作和/或以前工作的某些功能似乎根本没有触发“尽管没有任何改变我的结局!”。“没有改变”原来是SP3 :)
知道这一点,虽然我不是 C/C++ 人,但我想我会看看源代码,看看是否能找到任何东西(花了很多时间查看防火墙、病毒扫描程序和其他外在因素)。
我追踪到一个错误是调用 Api 函数 SendMessage,然后去 MSDN 文档查看。它明确指出“Microsoft Windows Vista 及更高版本。消息发送受用户界面特权隔离 (UIPI) 的约束。进程的线程只能将消息发送到具有较低或相等完整性级别的进程中的线程的消息队列。” 虽然我不是 100% 确定,但这似乎是一个可能的原因。
干杯!
莱尼。