我爱Aspx >> VC.Net >> C#中调用Windows API的要点C#中调用Windows API的要点
sp;在.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\PlatformInvoke\WinAPIs\CS目录下有大量的调用API的例子。
一、调用格式
using System.Runtime.InteropServices; //引用此名称空间,简化后面的代码
...
//使用DllImportAttribute特性来引入api函数,注意声明的是空方法,即方法体为空。
[DllImport("user32.dll")]
public static extern ReturnType FunctionName(type arg1,type arg2,...);
//调用时与调用其他方法并无区别
可以使用字段进一步说明特性,用逗号隔开,如:
[ DllImport( "kernel32", EntryPoint="GetVersionEx" )]
DllImportAttribute特性的公共字段如下:
1、CallingConvention 指示向非托管实现传递方法参数时所用的 CallingConvention 值。
CallingConvention.Cdecl : 调用方清理堆栈。它使您能够调用具有 varargs 的函数。
CallingConvention.StdCall : 被调用方清理堆栈。它是从托管代码调用非托管函数的默认约定。
【我对这篇文章有话说?】
使用C#制作的更换桌面背景程序[05-21]
C#和C++的速度大比拼(二)[05-21]
C#和C++的速度大比拼(第一部分)[05-21]
Java、C#线程模型分析对比[05-21]
C++语法游戏 : 模仿C#的 using(..[05-21]
使用c#+(datagrid控件)编辑xml文..[05-21]
C#学习笔记[05-21]
深入C#(一)[05-21]
C++、Java/C#之比较[05-21]
C++编程人员容易犯的10个C#错..[05-21]
第四个“回”字[05-21]
巧用ASP生成PDF文件[05-21]
Outlook风格的使用不同的颜色单列..[05-21]
MMX开发文档[05-21]
使用C#制作的更换桌面背景程序[05-21]
基于MFC的编写线程快速入门[05-21]
Serialization入门读物---PART1[05-21]
Serialization入门读物---PART1[05-21]
vc++中使用xml[05-21]
vc++中使用xml[05-21]