C#中调用API函数方法

2025-10-27 11:56:03

1、调用格式    using   System.Runtime.InteropServices;   //引用此名称空间,简化后面的代码 

C#中调用API函数方法

2、 可以使用字段进一步说明特性,用逗号隔开,如:    [   DllImport(   "kernel32",   EntryPoint="GetVersionEx"   )]    

C#中调用API函数方法

3、DllImportAttribute特性的公共字段如下:    1、CallingConvention   指示向非托管实现传递方法参数时所用的   CallingConvention   值。          CallingConvention.Cdecl   :   调用方清理堆栈。它使您能够调用具有   varargs   的函数。        CallingConvention.StdCall   :   被调用方清理堆栈。它是从托管代码调用非托管函数的默认约定。  

C#中调用API函数方法

4、 此字段被设置为   CharSet   值之一。如果   CharSet   字段设置为   Unicode,则所有字符串参数在传递到非托管实现之前都转换成   Unicode   字符。这还导致向DLL EntryPoint   的名称中追加字母“W”。

C#中调用API函数方法

5、如果此字段设置为Ansi,则字符串将转换成ANSI字符串,同时向DLL EntryPoint   的名称中追加字母“A”。大多数   Win32   API   使用这种追加“W”或“A”的约定。如CharSet设置为Auto,则这种转换就是与平台有关的。

C#中调用API函数方法

6、如果DLL中没有“MyMethod”,但存在“MyMethodA”,则返回“MyMethodA”。对于   Unicode   来说则正好相反。

C#中调用API函数方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢