API函数在VB开发中的应用

天地神魔

天地神魔

2016-02-19 13:19

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享API函数在VB开发中的应用吧。
VB作为快速开发Windows下的编程工具,已经为越来越多的开发者采用。但如果要开发出专业的Windows软件,还需采用大量的API函数,以下结合笔者开发管理软件的经验谈几点体会。
  程序中判定Windows的版本
  众所周知,Windows3.x各版本或多或少会有些差别,为了使开发程序避免出现莫名其妙的错误,最好在程序运行前自动判定Windows的版本。采用API提供的函数getversion很容易实现这一点。函数声明如下:
  DeclareFunctionGetVersionLib"Kernel"()AsInteger
  此函数没有参数,返回值为Windows的版本号,其中版本号的低位字节为Windows的主版本号,版本号的高位字节返回Windows的次版本号。判别过程如下:
  PrivateSubForm_Load()
  DimverAsInteger
  DimmajorAsInteger
  DimminorAsInteger
  Ver=GetVersion()
  major=verAnd&HFF
  minor=(verAnd&HFF00)256
  Ifmajor3Andminor10Then
  MsgBox"版本不正确!"
  ExitSub
  EndIf
  EndSub
  程序中判断Windows的安装目录
  一般VB开发出来的程序包含vbrun300.dll等辅助文件和.vbx文件,它们均需安装到Windows目录(c:windows)或Windows的系统目录(c:windowssystem)下,但因为用户安装Windows时可能会改变Windows的目录名(如c:windows),使用安装软件后,不能正确运行.API中提供的GetwinDowsdirectory或GetSystemDirectory较好地解决了这个问题。函数声明如下:
  
  DeclareFunctionGetSystemDirectoryLib"Kernel"(ByVallpBufferAs
  String,ByValnSizeAsInteger)AsInteger
  
  其中参数lpbuffer为字串变量,将返回实际Windows目录或Windows的系统目录,nsize为lpbuffer的字串变量的大小,函数返回值均为实际目录的长度。检查函数如下:
  
  Functioncheckdir()AsBoolean
  DimwindirAsString*200
  DimwinsysAsString*200
  DimwinlAsInteger
  DimwinsAsInteger
  Dims1AsString
  Dims2AsString
  winl=GetWindowsDirectory(windir,200)
  winl=GetSystemDirectory(winsys,200)
  s1=Mid$(windir,1,winl)
  s2=Mid$(winsys,1,wins)
  IfWins=0Orwins=0Then
  checkdir=False
  ExitFunction
  EndIf
  Ifs1"C:WINDOWS"Ors2"C:WINDOWSSYSTEM"Then
  checkdir=False
  ExitFunction
  EndIf
  checkdir=True
  EndFunction
  
  shell出现的问题
  通常编程时要调用外部程序,VB提供了shell()函数,但是如果shell调用的外部程序找不到,则运行的程序失去控制,VB给出提示"filenotfound",改变这种现象,要在程序中加入onerrorgoto,比较麻烦,API函数中的winexec很好地解决了这个问题。函数声明如下:
  
  DeclareFunctionWinExecLib"Kernel"(ByVallpCmdLineAsString,
  ByValnCmdShowAsInteger)AsInteger
  
  其中lpCmdline为调用的外部文件名,NcmdShow为外部程序的运行状态,如隐藏窗口、最小化窗口等等。如返回值大于32表示执行功能,否则返回错误码。例程如下:
  
  subcommand1_click
  dsiasinteger
  i=winexec("notepad.exe","c:wst.txt",9)
  '参数9即SW_RESTORE,也就是激活并显示窗口
  ifi32then
  msgbox"调用正确!!"
  else
  msgbox"调用错误!!"
  endif
  endsub->

展开更多 50%)
分享

猜你喜欢

API函数在VB开发中的应用

编程语言 网络编程
API函数在VB开发中的应用

API函数在VB中的应用

编程语言 网络编程
API函数在VB中的应用

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在VB中使用API函数(Any)

ASP
在VB中使用API函数(Any)

Delphi中API编程--在Delphi中调用API函数

Delphi
Delphi中API编程--在Delphi中调用API函数

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎样用VB在应用程序中调用API

编程语言 网络编程
怎样用VB在应用程序中调用API

在VB中调用API函数动态改变及恢复屏幕设置

编程语言 网络编程
在VB中调用API函数动态改变及恢复屏幕设置

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

win10下wp恢复工具无法安装怎么办

win10下wp恢复工具无法安装怎么办

jquery CSS选择器笔记

jquery CSS选择器笔记
下拉加载更多内容 ↓