gpt4 book ai didi

c# - msdn 所说的 "WinApi"是 user32.dll 吗?

转载 作者:行者123 更新时间:2023-11-28 01:37:07 25 4
gpt4 key购买 nike

在下面的代码中,

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 搜索了 user32.dll 的“mouse_event”函数,得到了 this .导入 user32.dll 等同于引用 Win32 API ,使所述文档成为其他功能及其参数信息的有效资源?为什么“user32.dll”在“c# 中具有在其他地方始终称为“WINAPI”或“WIN32”的函数名称?

最佳答案

Microsoft 称之为“Win32 API”的是 Windows 操作系统的接口(interface)。与操作系统的任何交互(创建窗口、打开文件、访问网络等)都需要通过任何这些有据可查的函数调用。许多 C# 函数在幕后实际上是这些操作系统函数的包装器实现。虽然一些更具体的方法没有 C# 等效方法,但您仍然可以使用您提供的代码(使用 [DllImport] 属性)来访问它们。

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

(注意:dll 本身不再做太多事情。在当前的实现中,它们只是其他库的包装器,但从应用程序的角度来看,这无关紧要)

关于c# - msdn 所说的 "WinApi"是 user32.dll 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48823107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com