软件开发的家园,编程爱好者的天地.

rss  设为首页  |  加入收藏  |   网站地图

进入软件开发网首页 当前位置: 主页>其他>Visual Basic>

VB中调用Windows API函数检测当前系统环境
发布于:软件开发网 来源:Internet 作者:网络收集 时间:2008-11-18 点击:


  摘 要:本文介绍了在Visual Basic中用 Declare语句声明所要调用的Windows API的方法,以及如何调用API函数来检测当前的系统环境。用Visual Basic能够直接控制和处理计算机的系统参数和硬件资源,增加了程序设计人员在Windows环境中开发软件的灵活性,使软件与Windows系统达到了最完美的结合。本文最后给出了一个调用的Windows API的检测系统环境实例。

  关键字:Visual Basic Declare 语句 Windows API函数 系统

  前言

  Visual Basic是一个Windows系统下的应用程序开发平台。方便的界面设计、强大的扩充能力使程序员能节省大量时间,把主要精力集中在应用程序核心代码的编写上。Visual Basic目前已成为Windows系统下一种高效灵活的开发工具,而调用API(Application Program Interface,应用程序接口)函数正是对Visual Basic功能的强有力扩充,它使得Visual Basic能够直接控制和处理计算机的系统参数和硬件资源。借助于API使得Visual Basic能克服Windows编程的难点,同时又增加供了使用Windows环境的灵活性。

  利用Visual Basic调用API函数的方法:

  (1)用Declare语句声明所要调用的API函数,若该函数无返回值,可声明为Sub过程;若有返回值,则可声明为Function函数。

  (2)一旦声明了某一个API函数后,就可以象调用Visual Basic的函数一样。但如果参数传递不对,可能会导致死机。

  一、检测系统参数的API函数

  检测系统环境的参数所需要的Windows API函数有GetWindowsDirectory,GetWinFlags,GetVersion,GetKeyboardType等,具体的使用方法见下面声明。

  1.GetWinflags声明

  Declare Function GetWinflags Lib "kernel32" () As Long

  功能:该函数返回Windows运行系统上的系统配置。

软件开发网

返回标志值    含意
WF_80X87    Intel数字协处理器
WF_CPU386   80386 CPU
WF_CPU486   80486 CPU
WF_ENHANCED  Windows 系统运行在386增强模式
WF_PMODE    Windows 系统运行在保护模式
WF_STANDARD  Windows 系统运行在标准模式
WF_WLO     运行在OS/2下

  2.GetKeyboardType声明

  Declare Function GetKeyboardType Lib "user32" (ByVal nTypeFlag As Long) As Long

  功能:该函数得到系统键盘类型,nTypeFlag=0时返回键盘类型。

返回值   含意
1     IBM PC/XT 或兼容键盘
2     Olivetti "ICO" 键盘(102个键)
3     IBM 或兼容键盘(84个键)
4     IBM 增强型或相似键盘(101或102个键)
5     Nokia1050或相似键盘
6     Nokia9140或相似键盘
7     日本键盘 软件开发网

  3.GetWindowsDirectory声明

  Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

  功能:该函数获取Windows目录的路径。

  4.GetVersion声明

  Declare Function GetVersion Lib "kernel32" () As Long

  功能:该函数返回当前Windows版本号和DOS版本号。返回值的低位字节说明Windows主版本号,返回值的低位字的高位字节说明Windows副版本号,高位字的低位字节说明DOS副版本号,高位字的高位字节说明DOS主版本号。 软件开发网

  5.GetSystemDirectory声明

  Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA"(ByVal lpBuffer As String, ByVal nSize As Long) As Long


本文关键词:

上一篇:使用API创建窗体(类似VC的创建过程)
下一篇:利用VB组件实现WEB方式下对NT域用户口令的修改

网友评论


以下留言只代表网友个人观点,不代表本站观点.