正文
vb.net替代api vbnet adodb
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
VB.net可以调用API吗?怎么调用?比如我要调用Gditransparentbit函数怎么写代
(1).使用DllImport特征类来申明Windows API函数:
下面是在Visual Basic .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特征类要简单了许多,下面是在Visual Basic .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函数
在Visual Basic .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
在 vb.net 中好像找不到API 浏览器 ,那如何像VB6那样调用API函数
没有Api浏览器,因为VB.NET不推荐使用API,因此Microsoft推荐您使用.NET里面的类和方法(而不是API函数)来实现您的需求。
你可以自己制作一个浏览器:
把VB6.0安装目录下的Common\Tools\Winapi下的文件拷贝到任一目录,再把VB6.0所在操作系统下的System32\DBGrid.ocx拷贝到VB.NET所在操作系统下的System32目录下,再直接运行你刚才拷贝过来的APILOAD.exe就可以了。
学vb.net就不用学像vb6.0中的api了吧?
您好vb.net替代api,
我感觉VB6.0 和VB.net有不小的差距vb.net替代api,VB.net是纯面向对象的开发语言,为了适应.net Framework的安全性,vb.net进行了不小的调整。但是关键字修饰符之类的基本没有什么变化,所以您只需要习惯.net下的强类型,应该是不难转型。
举个简单的例子吧,vb.net下是没有“变体类型”这一数据类型的,整型就是整型,字符串就是字符串,像
a = 50 + 60
Text1.Text = a
这样的代码是不行的,VB6.0支持变体类型,会自动进行类型转换,而.net下为了保证安全性,会要求程序员自己进行必要的转换。
至于API,.net框架下对API的依赖性像VB6中那么高,一些API完成的工作可以由一些类库来完成。API的调用也不是一样的,因为有些API涉及到了“不安全代码”,而且API是用另一种非.net 语言编写的,所以调用时有些特别的要求。
vb.net工作在.NET Framework下,与VB6的解释执行不同,VB.NET是编译执行的,.net下所有的应用程序都被编译成一种“中间语言(MSIL)”的形式,运行时由一种称为即时编译器(JIT)的程序进行二次编译。可以说.net既是开发环境又是运行环境,它提供了通用类型系统(CTS)和“公共语言运行时”(Common Language Runtime,CLR),前者为开发时提供了类型支持,.net下语言中的基本数据类型都来自于这个类型系统;后者为.net应用程序提供了运行环境,包括JIT、GC(内存垃圾收集器)等等,同时负责代码的运行时安全。
最后,我感觉学一门语言并不难,难的是理解一些系统和程序设计中低层的东西,不过,我比较建议您学习VB.NET,因为它的纯面向对象的特性比较符合目前的软件开发方式。
希望这些信息对您有帮助。
关于vb.net替代api和vbnet adodb的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。