返回顶部
首页 > 资讯 > 精选 >VB.NET如何申明Windows API函数
  • 310
分享到

VB.NET如何申明Windows API函数

2023-06-17 21:06:43 310人浏览 泡泡鱼
摘要

小编给大家分享一下VB.NET如何申明windows api函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!VB.net查看文件中图标的函数及VB.NET申明W

小编给大家分享一下VB.NET如何申明windows api函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

VB.net查看文件中图标的函数及VB.NET申明Windows API的方法:

VB.NET要实现查看文件中的图标,目前只使用.Net FrameWork SDK是无法实现这种功能的,正如前面所说,主要是由于.Net FrameWork SDK推出的时间较短,其功能还不可能面面俱到。解决问题的关键是正确使用Windows API函数,其中所涉及到的Windows API函数主要有二个:其一是获得指定文件中的图标数目;其二是从指定文件的指定位置导出图标的Windows句柄。这二个函数都位于 “shell32.dll”文件中,并且函数的入口点都为“ExtractIcon”。下面是在VB.NET中分别使用DllImport特征类和“Declare”语句申明这二个Windows API函数的具体方法。

使用DllImport特征类来申明Windows API函数:

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

  1. '函数ExtractIcon,其功能是是从指定文件的指定位置导出图标的Windows句柄。  

  2. < 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  

  3. End Function  

  4. '函数Icon_Num,其功能是获得指定文件中的图标数目  

  5. < 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  

  6. End Function 

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

  1. < 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  

  2. End Function 

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

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

  1. 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  

  2. '声明ExtractIcon函数  

  3. 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  

  4. '声明Icon_Num函数 

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

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

以上是“VB.NET如何申明Windows API函数”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: VB.NET如何申明Windows API函数

本文链接: https://lsjlt.com/news/293018.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • VB.NET如何申明Windows API函数
    小编给大家分享一下VB.NET如何申明Windows API函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!VB.NET查看文件中图标的函数及VB.NET申明W...
    99+
    2023-06-17
  • VB.NET如何使用Windows API函数
    这篇文章主要介绍了VB.NET如何使用Windows API函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET要实现查看文件中的图标,目前只使用.Net Fram...
    99+
    2023-06-17
  • VB.NET如何声明API
    这篇文章主要介绍了VB.NET如何声明API,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我们都知道在VB6里面可以用API函数来进行子类化,以处理自身的窗体过程;如果跨进程...
    99+
    2023-06-17
  • VB.NET中怎么重新申明数组
    本篇文章给大家分享的是有关VB.NET中怎么重新申明数组,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。VB.NET重新申明数组在VB.NET重新申明数组和VB中基本类似,依然使...
    99+
    2023-06-17
  • VB.NET API函数怎么用
    这篇文章主要为大家展示了“VB.NET API函数怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET API函数怎么用”这篇文章吧。程序中判定Windows的版本 众所周知,Win...
    99+
    2023-06-17
  • Vuex@2.3.0中state如何支持函数申明
    这篇文章主要介绍了Vuex@2.3.0中state如何支持函数申明,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vuex 2.3.0 的发布...
    99+
    2024-04-02
  • VB.NET中怎么实现 API函数遍历
    今天就跟大家聊聊有关VB.NET中怎么实现 API函数遍历,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Option Explicit'查找***个文件的API  ...
    99+
    2023-06-17
  • VB.NET中Format函数如何使用
    本篇文章为大家展示了VB.NET中Format函数如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。VB.NET Format函数符号意义0 数值配置符号,如果所指定的位置没有数值则印出0# 数...
    99+
    2023-06-17
  • VB.NET中 Print函数如何使用
    这期内容当中小编将会给大家带来有关VB.NET中 Print函数如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.Tab函数格式:Tab(n)功能:把光标移到由参数n指定的位置,从这个位置输出信息...
    99+
    2023-06-17
  • VB.NET中Split函数如何使用
    这篇文章给大家介绍VB.NET中Split函数如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。VB.NET Split函数使你能够将长字符串分离为单独的字;但是如果在字与字之间不止一个空格,Split就会返回一个...
    99+
    2023-06-17
  • VB.NET中如何使用Split函数
    VB.NET中如何使用Split函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。对于Visual Basic开发者来说,处理字符串和执行各种各样的字符串操作是十分重要的。当你...
    99+
    2023-06-17
  • VB.NET如何制作透明窗体
    这篇文章主要介绍了VB.NET如何制作透明窗体,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。窗体是Windows应用程序的基础。新一代的开发工具Visual Basic.Ne...
    99+
    2023-06-17
  • VB.NET中如何使用延时函数
    这篇文章给大家介绍VB.NET中如何使用延时函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Threading.Thread.Sleep(3000)   Application.DoEvents(...
    99+
    2023-06-17
  • VB.NET中回调函数如何使用
    VB.NET中回调函数如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。VB.NET经过长时间的发展,很多用户都很了解VB.NET回调函数了,这里我发表一下...
    99+
    2023-06-17
  • VB.NET中如何实现变量声明
    VB.NET中如何实现变量声明,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。用户可以使用一般的声明的描述来声明一个对象变量,但是必须把VB.NET变量声明为Ob...
    99+
    2023-06-17
  • VB.NET中如何使用声明语句
    VB.NET中如何使用声明语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。VB.NET作为一种完全面向对象语言,其窗体设计器支持可视化继承,能够帮开发人员轻松...
    99+
    2023-06-17
  • VB.NET如何输出函数的DLL创建
    这篇文章主要介绍VB.NET如何输出函数的DLL创建,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!VB编译文件实际上采取了两次编译的方法,首先是调用c2.exe产生OBJ文件,然后调用Link.exe连接。如果在li...
    99+
    2023-06-17
  • PHP 函数 API 教程:如何利用 API 提高函数的效率?
    PHP 是一种广泛使用的服务器端脚本语言,它拥有强大的函数库,让开发人员可以轻松编写复杂的应用程序。不过,在编写 PHP 函数时,有一些技巧可以让你的代码更加高效,其中之一就是利用 API。 API(应用程序接口)是一种软件接口,它可以让...
    99+
    2023-11-06
    函数 api 教程
  • python如何声明全局函数
    在python中声明全局函数的方法class ClassWithGlobalFunction:global spamdef spam(): return 'eggs'def method(self):global montydef mont...
    99+
    2024-04-02
  • python如何声明多个函数
    在python中使用del关键字声明多个函数,具体方法如下:def f():global xx = 2print xx +=2 def g():global xprint xx += 3f()g()print x...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作