精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓.VB电子文档集锦.〓〓>>《老猫:VB声明API》>>VB API:硬件与系统函数 第三页

主题:VB API:硬件与系统函数 第三页
发信人: winsy(鹰派)
整理人: winsy(2003-03-07 16:08:34), 站内信件
GetKeyboardLayout 

VB声明 
Declare Function GetKeyboardLayout Lib "user32" Alias "GetKeyboardLayout" (ByVal dwLayout As Long) As Long 
说明 
取得一个句柄,描述指定应用程序的键盘布局 
返回值 
Long,键盘布局的句柄 
参数表 
参数 类型及说明 
dwLayout Long,欲检查的线程的标识符 


GetKeyboardLayoutList 

VB声明 
Declare Function GetKeyboardLayoutList Lib "user32" Alias "GetKeyboardLayoutList" (ByVal nBuff As Long, lpList As Long) As Long 
说明 
获得系统适用的所有键盘布局的一个列表 
返回值 
Long,装载到内存的键盘布局的数量 
参数表 
参数 类型及说明 
nBuff Long,lpList数组中的条目数量。如设为零,表示获取可用键盘布局的数量 
lpList Long,指定一个数组,它的元素数量至少应有nBuff规定的元素那么多。这个数组会随同句柄载入可用的键盘布局 


GetKeyboardLayoutName 

VB声明 
Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long 
说明 
取得当前活动键盘布局的名称 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
pwszKLID String,长度为 KL_NAMELENGTH 个字符的字串 
注解 
在NT中,键盘布局与特定的应用程序有关。而在windows95中,它取决于特定的线程
 

GetKeyboardState 

VB声明 
Declare Function GetKeyboardState Lib "user32" Alias "GetKeyboardState" (pbKeyState As Byte) As Long 
说明 
取得键盘上每个虚拟键当前的状态 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
pbKeyState Long,总共含256个条目的字节数组中的第一个项目。每个字节都会附带载入与虚拟键对应的状态。如开关键打开,则位0设为1(开关键包括CapsLock, NumLock, ScrollLock);如某个键当时按下,则位7为1;如已经抬起,则为0 
注解 
虚拟键码常数 VK_? 作为数组的索引使用。这个函数相应于取得按键状态于一瞬间的“快照”——键按下或松开以后,数组不会自动更新。在win32中注意用一个字节数组避免由于vb向Unicode的内部转换而导致错误
 

GetKeyboardType 

VB声明 
Declare Function GetKeyboardType Lib "user32" Alias "GetKeyboardType" (ByVal nTypeFlag As Long) As Long 
说明 
了解与正在使用的键盘有关的信息 
返回值 
Long,零表示出错。否则返回下述值之一 
nTypeFlag=0 1——PC或兼容的83键键盘;2——Olivetti102键键盘;3——AT或兼容84键键盘;4——增强型(IBM)101或102键键盘;5——Nokia1050键盘;6——Nokia9140键盘;7——日文键盘 
nTypeFlag=1 任何值,由厂商决定 
nTypeFlag=2 1——10个功能键(即 F? 键);2——12或18个功能键;3——10个功能键;4——12个功能键;5——10个功能键;6——24个功能键;7——由厂商决定 
参数表 
参数 类型及说明 
nTypeFlag Long,可设为下述值之一 
0——返回键盘类型 
1——返回键盘子类型 
2——返回键盘上的功能键数量 


GetKeyNameText 

VB声明 
Declare Function GetKeyNameText Lib "user32" Alias "GetKeyNameTextA" (ByVal lParam As Long, ByVal lpBuffer As String, ByVal nSize As Long) As Long 
说明 
在给出扫描码的前提下,判断键名 
返回值 
Long,lpBuffer中载入的键名的实际长度 
参数表 
参数 类型及说明 
lParam Long,位0到5=0;位16到23=按键的扫描码;位24=增强型键盘上的扩展位;位25=如设为1,表示忽略左右Shift和Ctrl键的区别 
lpBuffer String,字串预先初始化成至少nSize+1字节,以便随同键名载入 
nSize Long,字串的最大长度 


GetKeyState 

VB声明 
Declare Function GetKeyState Lib "user32" Alias "GetKeyState" (ByVal nVirtKey As Long) As Integer 
说明 
针对已处理过的按键,在最近一次输入信息时,判断指定虚拟键的状态 
返回值 
Integer,如开关键打开,则位0设为1(开关键包括CapsLock, NumLock,ScrollLock);如某个键当时正处于按下状态,则位15为1;如已经抬起,则为0 
参数表 
参数 类型及说明 
nVirtKey Long,欲测试的虚拟键键码。对字母、数字字符(A-Z、a-z、0-9),用它们实际的ASCII值 


GetLastError 

VB声明 
Declare Function GetLastError Lib "kernel32" Alias "GetLastError" () As Long 
说明 
针对之前调用的api函数,用这个函数取得扩展错误信息(在vb里使用:在vb中,用Err对象的GetLastError属性获取GetLastError的值。这样做是必要的,因为在api调用返回以及vb调用继续执行期间,vb有时会重设GetLastError的值) 
返回值 
Long,由api函数决定。请参考api32.txt文件,其中列出了一系列错误常数;都以ERROR_前缀起头。常用的错误代码见下表 
ERROR_INVALID_HANDLE 无效的句柄作为一个参数传递 
ERROR_CALL_NOT_IMPLEMENTED 在win 95下调用专为win nt设计的win32 api函数 
ERROR_INVALID_PARAMETER 函数中有个参数不正确 
注解 
GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置。函数并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值,也不能担保函数已成功执行。只有在函数调用返回一个错误结果时,这个函数指出的错误结果才是有效的。通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError变量的前提下,才应访问GetLastError;这时能保证获得有效的结果。SetLastError函数主要在对api函数进行模拟的dll函数中使用,所以对vb应用程序来说是没有意义的
 

GetLocaleInfo 

VB声明 
Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long 
说明 
取得与指定“地方”有关的信息 
返回值 
Long,装载到缓冲区的字符数,或者cchData要求的缓冲区长度。零表示出错。会将GetLastError设为下述值之一:ERROR_INSUFFICIENT_BUFFER,ERROR_INVALID_FLAGS,ERROR_INVALID_PARAMETER 
参数表 
参数 类型及说明 
Locale Long,欲为其获得信息的地方ID 
LCType Long,要取回的信息类型。参考api32.txt文件中带 LOCALE_ 前缀的常数。用OR运算符合并LOCALE_NOUSEROVERRIDE,从而强制使用系统默认信息——即使当前用户已修改了相关设置 
lpLCData String,指定一个缓冲区,用于装载要求的信息。注意预先将字串格式化成合适的长度 
cchData Long,lpLCData缓冲区的长度;如设为零,表示获取必要的缓冲区长度 


GetLocalTime 

VB声明 
Declare Sub GetLocalTime Lib "kernel32" Alias "GetLocalTime" (lpSystemTime As SYSTEMTIME) 
说明 
在lpSystemTime结构中装载本地日期和时间 
参数表 
参数 类型及说明 
lpSystemTime SYSTEMTIME,用于装载本地时间的结构 


GetNumberFormat,GetNumberFormatBynum 

VB声明 
Declare Function GetNumberFormat& Lib "kernel32" Alias "GetNumberFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, lpFormat As NUMBERFMT, ByVal lpNumberStr As String, ByVal cchNumber As Long)
Declare Function GetNumberFormatBynum& Lib "kernel32" Alias "GetNumberFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, ByVal lpFormat As Long, ByVal lpNumberStr As String, ByVal cchNumber As Long) 
说明 
针对指定的“地方”,按特定的格式格式化一个数字 
返回值 
Long,格式化过后的字串的长度。零表示出错。会将GetLastError设为下述值之一:ERROR_INSUFFICIENT_BUFFER,ERROR_INVALID_FLAGS,ERROR_INVALID_PARAMETER 
参数表 
参数 类型及说明 
Locale Long,决定了具体格式的地方ID。lpFormat参数(如果不为NULL)指定的任何信息都优先于各“地方”不同的特定信息 
dwFlags Long,如指定了lpFormat,这个参数应为零。否则,可设为LOCALE_NOUSEROVERRIDE,强制使用系统地方参数——无论用户是否已作出相应的修改 
lpValue String,欲格式化的数字。数字可以只有数位、加在前面的一个“-”号以及一个小数点 
lpFormat NUMBERFMT,可设为NULL,表示使用本地特有的值(倘若用GetNumberFormatBynum,则可将这个参数以ByVal As Long的形式传递)。否则,可引用一个NUMBERFMT结构,其中的各个字段载入欲使用的格式信息 
lpNumberStr String,指定一个缓冲区,用于装载格式化过后的字串。注意先初始化成合适的长度 
cchNumber Long,lpNumberStr缓冲区的长度。如为零,函数会返回缓冲区必要的长度 


GetOEMCP 

VB声明 
Declare Function GetOEMCP Lib "kernel32" Alias "GetOEMCP" () As Long 
说明 
判断在OEM和ANSI字符集间转换的windows代码页 
返回值 
Long,目前处于活动状态的OEM代码页的标识符。针对一种特定的语言,可能存在多个代码页。以下是可用代码页列表 
437 默认:美国 708-720 阿拉伯代码页 737 希腊 
775 波罗的 850 国际 852 Slavic 
855 西里尔语 857 土耳其语 860 葡萄牙语 
861 冰岛语 862 希伯来语 863 加拿大法语 
864 阿拉伯语 865 挪威/丹麦语 866 俄语 
874 泰语 932 日语 936 中文(简体) 
949 朝鲜语 950 中文(台、港繁体) 1361 朝鲜语 


GetQueueStatus 

VB声明 
Declare Function GetQueueStatus Lib "user32" Alias "GetQueueStatus" (ByVal fuFlags As Long) As Long 
说明 
判断应用程序消息队列中待决(等待处理)的消息类型 
返回值 
Long,高字是一个16位的旗标字,包含了待决的消息。其中的各个位是由为fuFlags参数定义的同样的常数决定的。低字是一个对应的旗标字。其中各个位指出自上次调用这个函数以来,或自消息上一次处理以来,新加入的待处理消息 
参数表 
参数 类型及说明 
fuFlags Long,一个标志(旗标)字,指定要检查的消息。标志位是由下述常数定义的 
QS_KEY WM_CHAR消息(会造成vb KeyPressed事件) 
QS_MOUSE 任何鼠标消息 
QS_MOUSEMOVE MouseMove消息或事件 
QS_MOUSEBUTTON 鼠标按钮消息或相关事件 
QS_PAINT 等待处理的Paint消息 
QS_POSTMESSAGE 投递的其他消息 
QS_SENDMESSAGE 从另一个应用程序中发出的消息 
QS_TIMER 计时器消息 
QS_HOTKEY 队列中的一条Hotkey消息 
注解 
在vb里这个函数不特别有用(Use with VB:Not particularly useful.)
 

GetSysColor 

VB声明 
Declare Function GetSysColor Lib "user32" Alias "GetSysColor" (ByVal nIndex As Long) As Long 
说明 
判断指定windows显示对象的颜色 
返回值 
Long,指定对象的RGB颜色 
参数表 
参数 类型及说明 
nIndex Long,一个常数,指出特定的windows显示对象,如下表 
Windows对象常数表 
常数定义 Windows对象 常数定义 Windows对象 
COLOR_ACTIVEBORDER 活动窗口的边框 COLOR_ACTIVECAPTION 活动窗口的标题 
COLOR_APPWORKSPACE MDI桌面的背景 COLOR_BACKGROUND windows桌面 
COLOR_BTNFACE 按钮 COLOR_BTNHIGHLIGHT 按钮的3D加亮区 
COLOR_BTNSHADOW 按钮的3D阴影 COLOR_BTNTEXT 按钮文字 
COLOR_CAPTIONTEXT 窗口标题中的文字 COLOR_GRAYTEXT 灰色文字;如使用了抖动技术则为零 
COLOR_HIGHLIGHT 选定的项目背景 COLOR_HIGHLIGHTTEXT 选定的项目文字 
COLOR_INACTIVEBORDER 不活动窗口的边框 COLOR_INACTIVECAPTION 不活动窗口的标题 
COLOR_INACTIVECAPTIONTEXT 不活动窗口的文字 COLOR_MENU 菜单 
COLOR_MENUTEXT 菜单正文 COLOR_SCROLLBAR 滚动条 
COLOR_WINDOW 窗口背景 COLOR_WINDOWFRAME 窗框 
COLOR_WINDOWTEXT 窗口正文 COLOR_3DDKSHADOW 3D深阴影 * 
COLOR_3DFACE 3D阴影化对象的正面颜色 * COLOR_3DHILIGHT 3D加亮颜色(win95) 
COLOR_3DLIGHT 3D阴影化对象的浅色 * COLOR_INFOBK 工具提示的背景色 * 
COLOR_INFOTEXT
 工具提示的文本色 *     
*:带 * 号的常数未获NT 3.51的支持 


GetSystemDefaultLangID 

VB声明 
Declare Function GetSystemDefaultLangID Lib "kernel32" Alias "GetSystemDefaultLangID" () As Integer 
说明 
取得系统的默认语言ID 
返回值 
Integer,系统的默认语言ID 


GetSystemDefaultLCID 

VB声明 
Declare Function GetSystemDefaultLCID Lib "kernel32" Alias "GetSystemDefaultLCID" () As Long 
说明 
取得当前的默认系统“地方” 
返回值 
Long,默认的系统地方ID 

[关闭][返回]