庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>VB专区>基础教程>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

API函数在VB开发中的应用

 作者:万树学 郑启双    日期:2005-8-4 11:16:03
字号选择〖 〗/ 双击滚屏 单击停止   
   VB作为快速开发Windows下的编程工具,已经为越来越多的开发者采用。但如果要开发出专业的Windows软件,还需采用大量的API函数,以下结合笔者开发管理软件的经验谈几点体会。
   程序中判定Windows的版本
   众所周知,Windows3.x各版本或多或少会有些差别,为了使开发程序避免出现莫名其妙的错误,最好在程序运行前自动判定Windows的版本。采用API提供的函数getversion很容易实现这一点。函数声明如下:
Declare Function GetVersion Lib"Kernel"() As Integer
   此函数没有参数,返回值为Windows的版本号,其中版本号的低位字节为Windows的主版本号,版本号的高位字节返回Windows的次版本号。判别过程如下:
Private Sub Form_Load ()
Dim ver As Integer
Dim major As Integer
Dim minor As Integer
Ver = GetVersion ()
major = ver And &HFF
minor = (ver And &HFF00) \ 256
If major <> 3 And minor <> 10 Then
MsgBox "版本不正确!"
Exit Sub
End If
End Sub
   程序中判断Windows的安装目录
   一般VB开发出来的程序包含vbrun300.dll等辅助文件和.vbx文件,它们均需安装到Windows目录(c:\windows)或Windows的系统目录(c:\windows\system)下,但因为用户安装Windows时可能会改变Windows的目录名(如c:\windows),使用安装软件后,不能正确运行.API中提供的GetwinDowsdirectory或GetSystemDirectory较好地解决了这个问题。函数声明如下:

Declare Function GetSystemDirectory Lib "Kernel"(ByVal lpBuffer As
String,ByVal nSize As Integer) As Integer

   其中参数lpbuffer为字串变量,将返回实际Windows目录或Windows的系统目录,nsize为lpbuffer的字串变量的大小,函数返回值均为实际目录的长度。检查函数如下:

Function checkdir() As Boolean
Dim windir As String * 200
Dim winsys As String * 200
Dim winl As Integer
Dim wins As Integer
Dim s1 As String
Dim s2 As String
winl = GetWindowsDirectory(windir,200)
winl = GetSystemDirectory(winsys,200)
s1 = Mid $(windir,1,winl)
s2 = Mid $(winsys,1,wins)
If Wins = 0 Or wins = 0 Then
checkdir = False
Exit Function
End If
If s1 <> "C:\WINDOWS" Or s2 <> "C:\WINDOWS\SYSTEM" Then
checkdir = False
Exit Function
End If
checkdir = True
End Function

shell 出现的问题
   通常编程时要调用外部程序,VB提供了shell()函数,但是如果shell调用的外部程序找不到,则运行的程序失去控制,VB给出提示"filenotfound",改变这种现象,要在程序中加入onerrorgoto,比较麻烦,API函数中的winexec很好地解决了这个问题。函数声明如下:

Declare Function WinExec Lib "Kernel"(ByVal lpCmdLine As String,
ByVal nCmdShow As Integer) As Integer

   其中lpCmdline为调用的外部文件名,NcmdShow为外部程序的运行状态,如隐藏窗口、最小化窗口等等。如返回值大于32表示执行功能,否则返回错误码。例程如下:

sub command1_click
ds i as integer
i=winexec("notepad.exe","c:\wst.txt",9)
'参数9 即SW_RESTORE,也就是激活并显示窗口
if i>32 then
msgbox "调用正确!!"
else
msgbox "调用错误!!"
end if
end sub
上一篇:用SendMessage函数实现VB程序的查询功能    下一篇:API函数在VB中的应用  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 万树学 郑启双
信息来源: 网络 录入时间: 2005-8-4 11:16:03
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿