##陈伟视频——(37~40)windows和DLL学习总结
陈伟视频37
1、用Windows API 和 DLL编程
Windows API
Windows API 就是Windows应用程序接口,是针对Microsoft Windows操作系统家族的系统编程接口,这样的系统包括Windows 8.1、Windows 8、Windows 7、Windows Vista、Windows XP、Windows Server 2012、Windows 2008 R2 、Windows Server 2003、Windows 2000、Windows 95、Windows 98、Windows Me(Millennium Editon)和Windows CE等几乎所有版本。
其中32位Windows操作系统的编程接口称为 Win32 API,以便与以前16位版本Windows编程接口(16位Windows API)区别开来。
Windows API包括几千个可调用的函数,它们大致可以分为以下几个大类:
基本服务; 组件服务; 用户界面服务; 图形多媒体服务;
消息和协作; 网络; Web服务。
2、应用程序编程接口-API(Application Programming Interface)
3、位置
—Gdi32.dll, 是Windows GDI图形用户界面相关程序,用于辅助创建组建。现在用的较多的其实是gdiplus.dll也就是所谓的gdi+ 比如System.Drawing.Pen的构造函数就调用了gdiplus.dll中的 GdipCreatePen1函数。
—Kernel32.dll,Kernel32.dll控制着系统的内存管理、数据的输入输出操作和中断处理等。 比如System.IO.Directory.GetFiles可以得到目录下面的所有文件,他就是通过调用Kernel32的FindFirstFile和FindNextFile来搜索文件的。
—User32.dll 是Windows用户界面相关应用程序接口.包括窗体创建,销毁,发送消息等,还有hook也是通过此某块调用。 比如一个Form的创建过程里面有一个重要的方法是CreateHandle,里面有个代码段就是调用了user32的CreateWindowEx方法来创建窗体
4、功能
1. 基础服务(Base Services),提供对Windows系统可用的基础资源的访问接口。比如像:文件系统(file system)、外部设备(device)、进程(process)、线程(thread)以及访问注册表(Windows registry)和错误处理机制(error handling)。这些功能接口位于 16位Windows下的kernel.exe、krnl286.exe或krnl386.exe系统文档中,以及32位Windows下的 kernel32.dll和advapi32.dll中。
2. 图形设备接口(GDI),提供功能为:输出图形内容到显示器、打印机以及其他外部输出设备。它位于16位Windows下的gdi.exe;以及32位Windows下的gdi32.dll。
3. 图形化用户界面(GUI),提供的功能有创建和管理屏幕和大多数基本控件(control),比如按钮和滚动条。接收鼠标和键盘输入,以及其他与GUI有关的功能。这些调用接口位于:16位Windows下的user.exe,以及32位Windows下的user32.dll。从Windows XP版本之后,基本控件和通用对话框控件(Common Control Library)的调用接口放在comctl32.dll中。
4. 通用对话框链接库(Common Dialog Box Library),为应用程序提供标准对话框,比如打开/保存文档对话框、颜色对话框和字体对话框等等。这个链接库位于:16位Windows下的commdlg.dll中,以及32位Windows下comdlg32.dll中。它被归类为User Interface API之下。
5. 通用控件链接库(Common Control Library),为应用程序提供接口来访问操作系统提供的一些高级控件。比如像:状态栏(status bar)、进度条(progress bars)、工具栏(toolbar)和标签(tab)。这个链接库位于:16位Windows下的commctrl.dll中,以及32位Windows下comctl32.dll中。。它被归类为User Interface API之下。
6. Windows外壳(Windows Shell),作为Windows API的组成部分,不仅允许应用程序访问Windows外壳提供的功能,还对之有所改进和增强。它位于16位Windows下的shell.dll中,以及32位Windows下的shell32.dll中(Windows 95则在 shlwapi.dll中)。 它被归类为User Interface API之下。
7. 网络服务(Network Services),为访问操作系统提供的多种网络 功能提供接口。它包括NetBIOS、Winsock、NetDDE及RPC等。
·×参考
——《Windows 2000 程序员参考手册》
——MSDN中《访问DLL和Windows API》
陈伟视频40
1、注意事项
· 1.(接上页)特别注意
—BOOL=>Long
—字符串处理 传值 先分配空间
—Any的处理
2.字符串用ByVal
3.·可分别声明定义
2、其他相关内容
·窗口函数和钩子函数的处理
·自定义DI1中引出(Exports)的函数的调用约定(_stdcall)
·用C,C++等语言创建标准DI1文件
陈伟视频——(37~40)windows和DLL
最新推荐文章于 2022-07-26 17:28:50 发布