VB怎么用API函数·详细的?

VB怎么用API函数·详细的?,第1张

1、在进行Windows系统誉镇的编程过程中,如果想要改变标题栏的背景颜色,使其不随系统主题变化,一般来说有两个方法:自己设计标题栏和调用系统API进行处理。

2、要自己设计标题栏,可以设置窗口的边界属性(FormBorderStyle)为None,即不显示边界,此种情况下,窗体默认的标题栏就不会显示。

3、若要调用渣虚睁系统API函数来处理,就需要引入相关API。

4、引入API方法:Declare   Function   SetSysColors   Lib   "user32"   Alias   "SetSysColors"   (ByVal   nChanges   As   Long,   lpSysColor   As   Long,   lpColorValues   As   Long)   As   Long   定如岁义标题栏系统常量:Public   Const   COLOR_ACTIVECAPTION   =   2。

5、在引入API相关函数及定义了要求的系统常量后,直接调用函数即可设置标题栏的背景色,如设置标题栏背景色为红色。

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

关键字VisualBasicDeclare语句WindowsAPI函数系统

前言

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

利用VisualBasic调用API函数的方法:

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

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

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

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

1.GetWinflags声明

DeclareFunctionGetWinflagsLib"kernel32"()AsLong

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

返回标历拍志值

含意

WF_80X87

Intel数字协处理器

WF_CPU386

80386CPU

WF_CPU486

80486CPU

WF_ENHANCED

Windows系统运行在386增强模式

WF_PMODE

Windows系统运行在保护模式

WF_STANDARD

Windows系统运行在标准模式

WF_WLO

运行在OS/2下

2.GetKeyboardType声明

DeclareFunctionGetKeyboardTypeLib"user32"(ByValnTypeFlagAsLong)AsLong

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

返回值

含意

1

IBMPC/XT或兼容键盘

2

Olivetti"ICO"键盘(102个键)

3

IBM或兼容键盘(84个键)

4

IBM增强型或相似键盘(101或102个键)

5

Nokia1050或相似键盘

6

Nokia9140或相似键盘

7

日本键盘

3.GetWindowsDirectory声明

DeclareFunctionGetWindowsDirectoryLib"kernel32"Alias"GetWindowsDirectoryA"(ByVallpBufferAsString,ByValnSizeAsLong)AsLong

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

4.GetVersion声明

DeclareFunctionGetVersionLib"kernel32"()AsLong

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

5.GetSystemDirectory声明

DeclareFunctionGetSystemDirectoryLib"kernel32"Alias"GetSystemDirectoryA"

(ByVallpBufferAsString,ByValnSizeAsLong)AsLong

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

我知道 C++ 中有一个 dll,但是,有孝早没有可以从 VB 应用程序调用的 dll 呢?回答是巧晌雀肯定的:有两种方法可以完成这项工作。一种方法就是在 VB 的 DECLARE 部分列出您希望调用的 C API,然后利用标准的调用序列从 VB 调用它,如下面的代码样本所示:Type SQLCA_STRUCTsqlcaid As String * 8sqlcabc As Longsqlcode As Longsqlerrml As Integersqlerrmc As String * 70sqlerrp As String * 8sqlerrd(6) As Longsqlwarn As String * 11sqlstate As String * 5End TypePublic Declare Function sqlepstart Lib db2app Alias sqlepstart_api (ByVal junk&#38, ByRef sqlca As SQLCA_STRUCT) As Integer'DB2_start = sqlepstart(0, sqlca) ' Start DB2 call另一种方法就是生成一个文件,然后发出一谨铅条命令在后台执行该函数(当然,取决于您正在试图做什么):fileno = FreeFileOpen db2file For Output As #filenosqlstmt = + _db2start+ vbNewLine + _quitPrint #fileno, sqlstmt ' Write commands to a fileClose #fileno ' Close it and execute the commanddb2cmd = db2cmd /i /c db2 -tvf + db2file ' Generate the commandprogID = Shell(db2cmd, vbMinimizedNoFocus) ' Shell out to run it最后,DB2 的下一个版本将允许您象运行普通的 SQL 表函数那样运行特殊的 API 命令。这会返回有关目前可在 DB2 中找到的许多管理 API 的结果。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12446609.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存