C#中调用API

介绍

API(Application Programming Interface),我想大家不会陌生,它是我们Windows编程的常客,虽然基于.Net平台的C#有了强大的类库,但是,我们还是不能否认API在Windows编程中的重要性。大多数的编程语言都支持API编程,而.Net平台中的MFC(Microsoft Foundation Class Library)构架本身就封装了大部分的API。

做为程序员,我们需要了解API从字面上了解便是编程接口,因此,做为开发者,需要了解的只是API的使用方法。

API根据操作系统、处理器及功能性的不同而拥有很多不同的类型。   操作系统特用的API:

每种操作系统都有许多通用的API以及一些特用的API,这些特用的API只能在当前操作系统中执行。

例如:

Windows NT 支持 MS-DOS, Win16, Win32, POSIX (Portable Operating System Interface), OS/2 console API; 而 Windows 95 支持 MS-DOS, Win16 以及 Win32 APIs.

Win16 & Win32 API:

Win16是为十六位处理器开发的,早期的操作系统均支持。

Win32则是为32位处理器开发。它可移植性强,被大部分的处理器所支持。

Win32 API在库名后有一个”32”后缀。比如KERNEL32,USER32等。

所有API在下面3个库中得以运行:

  Kernel
  User
  GDI

1. KERNEL

他的库名为 KERNEL32.DLL, 他主要用于产生与操作系统之间的关联:

程序加载

上下文选择.

文件输入输出.

内存管理.

例如: GlobalMemoryStatus 函数就包括当前物理内存及虚拟内存的使用信息。

2. USER

这个类库在Win32中名叫 USER32.DLL。

它允许管理全部的用户接口,比如:

窗口

菜单

对话框

图标等.,

例如: DrawIcon 函数将在指定的设备关联上“画”出图标或者鼠标。

3. GDI (Graphical Device Interface)

它在Win32中的库名为:GDI32.dll,它是图形输出库。使用GDI Windows“画”出窗口、菜单以及对话框等:

它能创建图形输出.

它也能保存图形文件.

例如: CreateBitmap 函数就能通过指定的长、宽、颜色创建一个位图。

时间: 2025-01-25 12:23:41

C#中调用API的相关文章

C#中调用API函数RegisterHotKey注册多个系统热键

函数 要设置快捷键必须使用user32.dll下面的两个方法. BOOL RegisterHotKey( //注册系统热键的API函数 HWND hWnd, int id, UINT fsModifiers, UINT vk );  BOOL UnregisterHotKey( //删除系统热键的API函数 HWND hWnd, int id );  在C#中引用命名空间System.Runtime.InteropServices;来加载非托管类user32.dllusing System;us

在C#中调用API获取网络信息和流量

流量|网络 最近一项目中要求显示网络流量,而且必须使用C#. 事实上,调用 IpHlpApi.dll 的 GetIfTable API 可以轻易获得网络信息和网络流量.只是要在C#中实现还是比较复杂. 先看看怎么定义该 API [DllImport("IpHlpApi.dll")]        extern static public uint GetIfTable(byte[] pIfTable, ref uint pdwSize, bool bOrder);本来想把 pIfTab

在C#中调用API注册新用户错误,返回500错误码

问题描述 在我们公司的后台系统调用注册环信账户的api的时候返回500状态码是怎么回事? 解决方案 已经在环信的技术支持下解决了.谢谢.解决方案二:你把所有的提示贴全一点

在C#.net1.1中调用api kernel32.dll 在win xp上运行出现 没有注册类别 请问大侠是怎么回事??

问题描述 程序运行时抛出异常:Seetheendofthismessagefordetailsoninvokingjust-in-time(JIT)debugginginsteadofthisdialogbox.**************ExceptionText**************System.Runtime.InteropServices.COMException(0x80040154):没有注册类别atSystem.Windows.Forms.AxHost.CreateInsta

C#中调用Windows API的要点

window 在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希望给未在C#中使用过API的朋友一点帮助.另外如果安装了Visual Studio .net的话,在C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\Technologies\Interop\Platf

在Visual C#中运用API函数获取系统信息

visual|函数 API函数是构筑Windows应用程序的基石,是Windows编程的必备利器.每一种Windows应用程序开发工具都提供了间接或直接调用了Windows API函数的方法,或者是调用Windows API函数的接口,也就是说具备调用动态连接库的能力.Visual C#和其它开发工具一样也能够调用动态链接库的API函数.本文中笔者就结合实例向大家介绍在Visual C#中如何调用各种返回值的API,该实例就是一个通过API函数调用获取系统信息的程序. 在Visual C#中调用

在C#中调用Win32函数EnumWindows枚举所有窗口。

原文 http://www.cnblogs.com/mfm11111/archive/2009/06/30/1514322.html 开发旺旺群发软件,难点及重要技术点分析(一) 一.        在C#中调用Win32函数EnumWindows枚举所有窗口. EnumWindows 函数通过借助于应用程序定义的回调函数传递每个窗口句柄枚举所有顶层的屏幕窗口.直到最后一个顶层窗口被枚举或者回调函数返回false ,EnumWindows 函数才会退出停止枚举过程. 下面例子说明如何在 C# 中

C#中调用Outlook API 发起会议

原文:C#中调用Outlook API 发起会议   在我上一篇博文中曾提到了 SharePoint 中调用传出电子邮件中的邮件服务器及地址发送邮件   但是,里面的方法只能用于发送普通电子邮件.如果要发起会议之类的特殊邮件的话,可以使用Outlook 自身的API.   创建项目后,为它添加.NET引用:"Microsoft.Office.Interop.Outlook"的引用,即可调用,需要注意的是,在添加的时候,注意一下OFFICE版本号.   在调用其API发起会议的过程中,遇

vba win32 api-vba 中调用win 32 的api接口

问题描述 vba 中调用win 32 的api接口 ※ 下面问题本人也在网上找了很久的答案,可是均不行,希望各位看官能帮帮忙.谢谢. 其中 i 找了win32的返回值为字符串的win32 api的VBA接口调用 => 测试成功,方法这里就不说了 i 找了win32通过参数返回字符串的win32 api的VBA接口调用 =>测试成功,方法这里就不说了 i 找了通过参数返回字符串数组的自定义C的api的VBA接口调用 =>没测试 例如: C的test.dll接口: void test(cha