C#与API
在学习C语言的时候我们实现学习的基本语法然后就开始接触C语言与API函数,但是在学习的C#时候,我们发现C#很少用到API函数,基本上都已经集成了,但是还有些地方在用,,,我系统想知道哪些地方是在使用这些函数的...................求解!
当调用非托管API函数时,它将依次执行以下操作:
1.查找包含该函数的 DLL。
2.将该 DLL 加载到内存中。
3.查找函数在内存中的地址并将其参数推到堆栈上,以封送所需的数据(注意:只在第一次调用函数时,才会查找和加载 DLL 并查找函数在内存中的地址。)。
4.将控制权转移给非托管函数。
5.对非托管 DLL 函数的“平台调用”调用
平台调用会向托管调用方引发由非托管函数生成的异常。
在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的。
另外如果安装了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,...); //调用时与调用其他方法并无区别希望对楼主有帮助