在阅读MSDN中的剪贴板时,我遇到了这一行:
将内存对象放在剪贴板上后,拥有该对象 内存句柄转移到系统。当剪贴板是 清空并且内存对象具有以下剪贴板之一 格式,系统通过调用来释放内存对象 指定功能:... (http://msdn.microsoft.com/en-us/library/ms649014%28VS.85%29.aspx - 内存和剪贴板部分)。
我不太明白的是“谁是系统”?一个SYSTEM流程?剪贴板所有者进程???
感谢您的帮助! : - )
答案 0 :(得分:3)
你的意思是“操作系统”是什么意思?没有“操作系统”过程。哪个进程实际上释放了对象?
嗯,这个过程被称为“系统”。但这与此无关,每个与剪贴板混淆的Windows应用程序都会加载user32.dll。系统”。 Kernel32.dll是每个 Windows应用程序加载的另一个重要的。像这样的Windows非常酷,你只需支付你实际使用的操作系统的位数。并且每个进程共享这些DLL中的代码所需的内存。在Windows NT必须使用16兆内存启动的时代,这非常重要。
不需要单独的过程。
让这些不同的系统DLL实例一起工作是微软的头疼。但它也是非常重要的策略,可以防止崩溃进程使用它来关闭操作系统。
答案 1 :(得分:2)
在文档中说系统是一种让您知道没有准确记录发生位置的方式,并且可能会发生变化。并且不要让你的呼吸等待它。 系统通常是操作系统 [1],这不仅仅是一个< / strong>过程。它由大量应用程序组成,这些应用程序在进程中使用动态库,以不同的深度级别相互通信,范围从较低级别的内核模式到较高级别的用户模式。在所有这些中,处理剪贴板。
现在,请不要接受这个答案,而是等待Hans'。
[1]引用Raymond Chen:“我不敢相信我必须这么说。”