VB.NET如何使用Windows API函数

发布时间:2021-12-02 11:48:45 作者:小新
来源:亿速云 阅读:286

这篇文章主要介绍了VB.NET如何使用Windows API函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

VB.NET要实现查看文件中的图标,目前只使用.Net FrameWork SDK是无法实现这种功能的,正如前面所说,主要是由于.Net FrameWork SDK推出的时间较短,其功能还不可能面面俱到。

解决问题的关键是正确使用Windows API函数,其中所涉及到的Windows API函数主要有二个:其一是获得指定文件中的图标数目;其二是从指定文件的指定位置导出图标的Windows句柄。这二个函数都位于 “Shell32.dll”文件中,并且函数的入口点都为“ExtractIcon”。下面是在VB.NET中分别使用DllImport特征类和“Declare”语句申明这二个VB.NET Windows API函数的具体方法。

1.使用DllImport特征类来申明VB.NET Windows API函数

下面是在VB.NET中使用DllImport特征类申明二个Windows API函数的具体示例:

函数ExtractIcon,其功能是是从指定文件的指定位置导出图标的Windows句柄。  < System.Runtime.InteropServices.DllImport ( "Shell32.dll" , EntryPoint := "ExtractIcon" ) > _  Public Function _  ExtractIcon ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr  End Function  '函数Icon_Num,其功能是获得指定文件中的图标数目  < System.Runtime.InteropServices.DllImport ( "Shell32.dll" , EntryPoint := "ExtractIcon" ) > _  Public Function _  Icon_Num ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As Integer ) As Integer  End Function

在使用DllImport特征类申明Windows API函数时,如果申明的函数名称和函数的入口点相同,则可以在申明Windows API函数时,省略定义函数入口点对应的代码,即EntryPoint对象字段对应的代码,这样声明ExtractIcon函数的代码也可以简化为如下所示:

< System.Runtime.InteropServices.DllImport ( "Shell32.dll" ) > _  Public Function _  ExtractIcon ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr  End Function

2.使用“Declare”语句来申明Windows API函数

使用“Declare”语句的确比使用DllImport特征类要简单了许多,下面是在VB.NET中使用“Declare”语句来声明上述二个Windows API函数的具体方法:

Declare Auto Function ExtractIcon Lib "Shell32.dll" Alias "ExtractIcon"   ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr  '声明ExtractIcon函数  Declare Auto Function Icon_Num Lib "Shell32.dll" Alias "ExtractIcon"   ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As Integer ) As Integer  '声明Icon_Num函数

在VB.NET中声明Windows API函数时,“Declare”语句中Alias关键字的作用相当于使用DllImport特征类中的EntryPoint对象字段。同样在使用 “Declare”语句声明Windows API函数时,如果声明的函数和函数的入口点相同,也可以省略Alias关键字对应的代码,所以ExtractIcon函数也可以简化为如下:

Declare Auto Function ExtractIcon Lib "Shell32.dll"   ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 )   As System.IntPtr

下面就结合一个示例的编写过程来掌握的这二个Windows API函数的具体使用方法,这个示例的作用就是读取指定文件中的图标数目,并显示文件中的图标。

感谢你能够认真阅读完这篇文章,希望小编分享的“VB.NET如何使用Windows API函数”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

推荐阅读:
  1. 【API】Windows 程序提升权限函数
  2. Windows API函数SetClassLong怎么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vb.net windows api

上一篇:JS ES中模板字符串是什么

下一篇:tk.Mybatis插入数据获取Id怎么实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》