API有两种调用方式:
第一种使用declare的API调用,Declare Function publicname Lib "libname" [Alias "alias"] [([[ByVal] variable [As type] [,[ByVal] variable [As type]]...])] As Type其中 function表示有返回值,也可以填sub表示无返回值。publicname是在本程序中的调用名, libname 是.dll资源名,alias指示所调用函数的真实名称(即外部调用接口的名称,可能因为名字是#.....或_.....这种在程序中不合法的名称或其他原因,需要使用Alias)
第二种使用DllImport的API调用
大致相当于使用 Declare 语句,但可以更多地控制如何调用函数。可以将大多数 Windows API 调用与 DllImport 一起使用,只要该调用引用的是共享(有时称为“静态”)方法就可以。 不能使用需要类实例的方法。 与 Declare 语句不同,DllImport 调用不能使用 MarshalAs 特性。
它可以通过Windows API 和 .NET Framework 的互操作是通过使用平台调用 (PInvoke) 来完成。
下载PInvoke插件,用VS2010打开就可以安装,安装之后可以在菜单栏上打开,输入想要使用的API函数就可以insert他的声明了,出错的话就只要按照VS2010的指导import一些东西就可以了,个人觉得这个比较方便