
正文
vb.netsdk的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.net如何使用Microsoft Speech SDK5.1
MS Speech 是一个合成语音软件,可用来形成语音(例如朗读"Hi I am Mike"),Speech SDK是用来将Speech的功能使用于自己的程序的辅助开发工具。
相关问答
Q1: 关于 vb.net 引用directx的问题
.net 的WPF工程,用的就是directX,根本无需使用directx sdk。。。 而且WPF 非常方便比directX sdk好用,10倍以上,主要是简单。。。用.net还要去用directX sdk,本来就是个很不明智的事,因为WPF把directX封装的非常完美。。。
Q2: vb.net是什么
VB.net是微软最新平台技术,是.netframeworkSDK的一种语言。VB.net和VC#.net在功能上没有区别。编译以后生成的可执行文件被称为Assembly,即
程序集
。
Q3: 在vb.net里装了ARCGIS的SDK后,就多了几个新建项目的选项。
第一个是创建ArcCatalog下的Add-in工程,就是那个蓝色圆形小按钮;
第二个是创建ArcMap下的Add-in工程,
第三个是创建ArcScene的Add-in工程,
最后一个是ArcGlobe的。
add-in
[programming] An extension to a software program that performs a custom task. ESRI provides various developer add-ins as part of the ArcGIS developer kit.
Q4: VB.NET的API调用
现在我用我所知道的为楼主介绍VB.NET的API调用,请楼主浏览一下,看看行不行。
Windows API就是Windows系统的API函数简称(Application Program Interface,即:应用程序接口函数),它是Windows操作系统提供给各种开发基于Windows平台应用软件的开发语言的一些公用的函数,这些函数一般都比较底层,所以当各种开发语言使用自带的函数或类库已无法解决问题时,调用Windows API函数往往是一种非常直接、有效的解决方法。但由于在程序中调用Windows API函数一般都很复杂,所以对于程序员来说,是否能够灵活的使用Windows API函数,往往也是其水平高低的一个重要标志。但自从微软推出.Net框架以后,各种开发基于.Net平台下的程序语言,如Visual Basic .Net、Visual C#等却很少使用Windows API函数,并且微软公司也不像以前那样,提倡在这些.Net开发语言中使用Windows API函数,其主要的原因如下:
1. .Net框架所附带的类库.Net FrameWork SDK是一个内容丰富、功能强大的软件开发包,各种Windows API函数所实现的各种功能几乎都可以在这个软件开发包中找到与之对应的部分。
2. 微软Visual Basic .Net、Visual C#等目的是编写跨平台的应用程序,如果在Visual Basic .Net、Visual C#等中使用Windows API函数,这也就注定了编写出的程序只能运行于Windows平台之下,而弱化了.NET的跨平台能力。这也就是为什么微软不提倡在.Net平台调用Windows API函数的原因。
虽然微软并不提倡在Visual Basic .Net、Visual C#中调用Windows API函数,但由于目前.Net 框架推出时间较短,.Net FrameWork SDK中提供的类库还并不足以完全替换Windows API函数的所有功能,所以在某些时候,.Net开发语言还是必须要调用Windows API函数。
一.平台调用、托管DLL、非托管DLL简介:
托管DLL就是能够在公共语言运行库(Common Language Runtime,简称CLR)中能够直接引用的,并且扩展名为“DLL”的文件。具体所指就是封装各种命名空间所在的DLL文件,如System.dll等。非托管DLL就是平常所的动态链接库等,其中就包括了封装所有Windows API函数的DLL文件。各种非托管DLL中的函数在公共语言运行库中不能直接被调用,而需要经过.Net框架提供的“平台调用”服务后才可以。
“平台调用”是.Net框架为Visual Basic .Net、Visual C#等.Net开发语言提供的一种服务,用以在托管代码中引入各种非托管DLL中封装的函数(其中包括Windows API函数)。“平台调用”依赖于元数据在运行时查找导出函数并封装其参数。图01公共语言运行库利用“平台服务”调用非托管DLL中的函数的流程图:
图01:“平台服务”的调用非托管函数的流程图
在托管代码中使用“平台调用”服务调用非托管DLL中封装的函数时,“平台服务”将依次执行以下操作:
1. 查找包含该函数所在的DLL文件。
2. 如果找到,则将该DLL文件 加载到内存中。
3. 查找函数在内存中的地址并将其参数推到堆栈上,并封送所需的数据。
4. 将控制权转移给非托管函数。 这样整个函数调用完成。
在Visual Basic .Net中使用“平台调用”服务,申明Windows API函数主要有二种具体的实现方法:
1. 使用DllImport特征类来申明Windows API函数。
2. 使用“Declare”语句来申明Windows API函数。
这二种方法虽有异曲同工之效,但在繁简上却有很大差异,第一种方法申明过程比较复杂,很容易在申明Windows API函数时出错,所以并不提倡。而第二种方法相对简单,并且又保存了以前Visual Basic中的很多语法,所以在平常时大都使用这种方法来申明Windows API函数。
二.VB.Net查看文件中图标的函数及申明Windows API的方法:
Visual Basic .Net要实现查看文件中的图标,目前只使用.Net FrameWork SDK是无法实现这种功能的,正如前面所说,主要是由于.Net FrameWork SDK推出的时间较短,其功能还不可能面面俱到。解决问题的关键是正确使用Windows API函数,其中所涉及到的Windows API函数主要有二个:其一是获得指定文件中的图标数目;其二是从指定文件的指定位置导出图标的Windows句柄。这二个函数都位于“Shell32.dll”文件中,并且函数的入口点都为“ExtractIcon”。下面是在Visual Basic .Net中分别使用DllImport特征类和“Declare”语句申明这二个Windows API函数的具体方法。
(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
下面就结合一个示例的编写过程来掌握的这二个Windows API函数的具体使用方法,这个示例的作用就是读取指定文件中的图标数目,并显示文件中的图标。
三.本文中程序的编写、调试和运行环境:
(1).视窗2000高级服务器版。
(2).Visual Studio .Net 2003企业结构设计版,.Net FrameWork SDK版本号4322。
四.Visual Basic .Net读取文件中的图标的实现步骤:
下面介绍的示例,其功能读取指定文件中包含的图标数目,并把这些图标全部显示出来。下面是这个示例的实现步骤:
1. 启动Visual Studio .Net。
2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
3. 将【项目类型】设置为【Visual Basic项目】。
4. 将【模板】设置为【Windows应用程序】。
5. 在【名称】文本框中输入【Visual Basic .Net查看文件中的图标】。
6. 在【位置】的文本框中输入【E:\VS.NET项目】,然后单击【确定】按钮,这样在【E:\VS.NET项目】目录中就产生了名称为【Visual Basic .Net查看文件中的图标】文件夹,里面存放着【Visual Basic .Net查看文件中的图标】项目的所有文件。具体如图02所示:
图02:【Visual Basic .Net查看文件中的图标】项目的【新建项目】对话框
7. 选择菜单【项目】|【添加新项】,在弹出的对话框中的【模板】设置为【模块】,【名称】文本框设置为【Module1.vb】后。单击【打开】按钮,则在项目中增加了一个模板文件,名称为【Module1.vb】。
8. 把Visual Stuido .Net的当前窗口切换到Module1.vb的代码编辑窗口,并在其Module1的代码区中添加下列代码,下列代码是用二种方式声明二个Windows API函数:
< 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
'声明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
9. 把Visual Studio .Net的当前窗口切换到Form1窗体的设计查看,并从【工具箱】中的【Windows窗体】选项卡中拖入下列组件到Form1窗体:
四个Label组件,其中二个用以显示提示信息,另外二个分别用以显示选择的文件名称和这个文件中包含的图标数目。
一个ListView组件,利用其显示大图标的属性用以显示选定文件中的图标。
一个OpenFileDialog组件,用以选择要查看图标的文件名称。
一个ImageList组件,它起的是桥梁的作用,首先把从文件中导出的图标存放到这里,然后再提供ListView组件显示出来。
一个Button组件。
10. 按照表01中数值来设定设定组件的主要属性:
组件类型 组件名称 属性 设置结果
Form Form1 Text VB.NET查看文件中的图标
Form1 MaximizeBox False
Form1 MinimizeBox False
Form1 FormBorderStyle FixedSingle
ListView ListView1 ImageList1 LargeImageList
ListView1 MultiSelect False
ListView1 Size Size ( 380 , 208 )
Button Button1 Text 选择文件
Button1 FlatStyle Flat
ImageList ImageList1 Size Size ( 32 , 32 )
ImageList1 TransparentColor Color.Transparent
Label Label1 Text 文件名称:
Label2 Text 图标数目:
Label3 Text ""
Label4 Text "0"
表01:【Visual Basic .Net查看文件中的图标】项目窗体中各组件的主要属性设定数值表
并按照图02中各组件的位置、大小和排列方式来调整窗体中各个组件:
图02:【Visual Basic .Net查看文件中的图标】项目的设计界面
11. 把Visual Studio .Net当前窗口切换到Form.vb的代码编辑窗口,并用下列代码替换Form1.vb中的Button1组件的Click事件的处理代码,下列代码是在Button1组件的Click事件中处理查看文件中图标的功能,具体如下:
Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click
If OpenFileDialog1.ShowDialog ( ) = DialogResult.OK Then
'清除组件中的所有项目
ListView1.Items.Clear ( )
ImageList1.Images.Clear ( )
Dim sfName As String = OpenFileDialog1.FileName
Label3.Text = sfName
Dim iIcon_Num As Integer = Icon_Num ( IntPtr.Zero , sfName , -1 )
'显示文件中的图标数目
Label4.Text = iIcon_Num.ToString ( )
Dim i As Integer
For i = 0 To iIcon_Num - 1 Step 1
'强制实现int到uint类型转换
Dim j As UInt32
j = System.Convert.ToUInt32 ( i )
Dim hIcon As System.IntPtr = ExtractIcon ( IntPtr.Zero , sfName , j )
'在imageList1组件中加入当然提取的图标
ImageList1.Images.Add ( Icon.FromHandle ( hIcon ).ToBitmap ( ) )
'在ListView组件中加入一个项目
ListView1.Items.Add ( "第" + ( i + 1 ).ToString ( ) + "个图标" )
'把加入项目的图象索引指向刚才加入图标在imagList1组件中的索引,从而显示图标
ListView1.Items ( i ).ImageIndex = i
Next i
End If
End Sub
12. 至此,在上述步骤都正确执行后,【Visual Basic .Net查看文件中的图标】项目的全部工作就完成了。单击快捷键F5就可以运行程序,此时单击【选择文件】按钮选择文件后,程序就能够读取这个文件中的图标及其数目,并显示出来了。具体如图03所示:
图03:【Visual Basic .Net查看文件中的图标】项目的运行界面
五.总结:
解决Visual Basic .Net查看文件中的图标的关键并非是使用.Net框架中提供的类库,而是使用Windows的API函数。虽然这与利用Visual Basic .Net开发跨平台程序的初衷相违背,但的确不失为一种解决问题的方法。有些时候通过Windows API函数能够快捷、方便的解决实际问题,而这往往是只使用.Net FrameWork SDK所望尘莫及的,但随着.Net FrameWork SDK内容的不断丰富,各种新的组成部分和新的功能不断加入,可以预见的是,在未来的.Net FrameWork SDK中必将拥有可以替换本文中介绍的二个Windows API函数的组成部分。
Q5: VB编程语言有哪些
你的问题很有问题。。。
第一:vb
vb就是visual
basic,本身就是一种编程语言.
visual
basic
是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发
windows
环境下的各类应用程序。它简单易学、效率高,且功能强大可以与
windows
专业开发工具sdk相媲美。在visual
basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用windows内部的广泛应用程序接口(api)函数,动态链接库(dll)、对象的链接与嵌入(ole)、开放式数据连接(odbc)等技术,可以高效、快速地开发windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,visual
basic的功能也越来越强。5.0版以后,visual
basic
推出了中文版,与前个版本相比,其功能有了很大提升。
第二:vba
vba即visual
basic
for
applications,包含在微软的应用程序中(比如microsoft
office),以及类似wordperfect
office这样第三方的产品里面。vba这样嵌入在各种应用程序中看起来有些矛盾,但是它的功能和vb一样强大。
vba和vb的区别包括如下几个方面:
1.
vb是设计用于创建标准的应用程序,而vba是使已有的应用程序(excel等)自动化
2.
vb具有自己的开发环境,而vba必须寄生于已有的应用程序.
3.
要运行vb开发的应用程序,用户不必安装vb,因为vb开发出的应用程序是可执行文件(*.exe),而vba开发的程序必须依赖于它的父应用程序,例如excel.
第三:vbscript
vbscript的全称是:microsoft
visual
basic
script
editon.(微软公司可视化basic脚本版).
正如其字面所透露的信息,
vbs(vbscript的进一步简写)是基于visual
basic的脚本语言.
我进一步解释一下,
microsoft
visual
basic是微软公司出品的一套可视化编程工具,
语法基于basic.
脚本语言,
就是不编译成二进制文件,
直接由宿主(host)解释源代码并执行,
简单点说就是你写的程序不需要编译成.exe,
而是直接给用户发送.vbs的源程序,
用户就能执行了.
vbscript也是asp的默认语言,还可以用在windows脚本编写(shell
script)和网页编码(html)中。尽管它的语法类似于vb,但是它却是一种完全不同的语言。vbs不使用vb运行库运行,而是由windows脚本宿主(wscript.exe
-
microsoft
windows
based
script
host)解释执行。这两种语言之中的不同点影响asp网站的表现。
第四:vb.net
visual
basic.net
是从
visual
basic
语言演变而来的,是一种为高效地生成类型安全和面向对象的应用程序而设计的语言。visual
basic
允许开发人员开发面向
windows、web
和移动设备的程序。与所有面向
microsoft
.net
framework
的语言一样,使用
visual
basic
编写的程序都具有安全性和语言互操作性方面的优点。vb.net是微软最新平台技术,是.netframeworksdk的一种语言。vb.net和vc#.net在功能上没有区别。编译以后生成的可执行文件被称为assembly,即程序集。vb.net的版本号是visualbasic7.0,它的运行是建立在clr(commonlanguageruntime)和msil(microsoftintermediatelanguage)虚拟器上的。其实,它的机制和java差不多。
vb.net的特点
1.真正成为面向对象以及支持继承性的语言。
2.窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化支持、数据类工具内在支持xml数据。
3.直接建立在.net的框架结构上,因此开发人员可以充分利用所有.net平台特性,也可以与其他的.net语言交互。
4.为windows应用程序提供了xcopy部署,开发者不再需要为dll的版本问题担忧。
vb.netsdk的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、vb.netsdk的信息别忘了在本站进行查找喔。







