user32.dll是" WinApi" msdn说的是什么?

时间:2018-02-16 08:54:04

标签: c# c++ user32 interopservices

在以下代码中,

using System.Runtime.InteropServices;
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);

我用Google搜索了" mouse_event" user32.dll的功能,得到了this。 导入user32.dll相当于引用Win32 API,使所述文档成为其他函数及其参数信息的有效资源吗?为什么这是" user32.dll"将" c#承担其他地方一致称为" WINAPI"的功能名称。或" WIN32"?

1 个答案:

答案 0 :(得分:2)

微软称之为" Win32 API"是Windows操作系统的界面。任何与操作系统的交互(创建窗口,打开文件,访问网络等)都需要通过任何这些记录良好的函数调用。许多C#函数是幕后实际的这些操作系统函数的包装器实现。一些更具体的方法虽然没有C#等价物,但您可以使用代码作为您提供的代码(使用[DllImport]属性)来访问它们。

出于遗留原因,Win32 API主要由三个文件组成:kernel32.dll(文件io / synchronisations)gdi32.dll(用户界面)和user32.dll(更多用户界面)。这三个库几乎包含构成该API的所有函数。其他库随着时间的推移而添加并用于特定目的。

(注意:dll本身不再做太多。在当前的实现中,它们只是围绕其他库的包装,但从应用程序的角度来看,它并没有#39 ;重要)