精华区 [关闭][返回]

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

主题:VB API:硬件与系统函数 第六页
发信人: winsy(鹰派)
整理人: winsy(2003-03-10 08:46:21), 站内信件
SetKeyboardState 

VB声明 
Declare Function SetKeyboardState Lib "user32" Alias "SetKeyboardState" (lppbKeyState As Byte) As Long 
说明 
设置每个虚拟键当前在键盘上的状态 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lppbKeyState Byte,固定为256字符长度的一个字串。windows内部键盘状态表中的每个字符都会根据这张表中对应的虚拟键设置。每个键的状态与GetKeyboardState函数的结果是相同的 
注解 
可用这个函数设置CapsLock, NumLock 和 ScrollLock键的状态
 

SetLocaleInfo 

VB声明 
Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Long 
说明 
改变用户“地方”设置信息 
返回值 
Long,TRUE(非零)表示成功,否则返回零。会将GetLastError设置为下述值之一:ERROR_INVALID_ACCESS,ERROR_INVALID_FLAGS,ERROR_INVALID_PARAMETER 
参数表 
参数 类型及说明 
Locale Long,要为其改变信息的地方ID 
LCType Long,欲改变的信息类型。参考api32.txt,检视那些带 LOCALE_ 前缀的常数 
lpLCData String,这个地方信息项目的新设置 
注解 
这个函数不会改变系统地方设置
 

SetLocalTime 

VB声明 
Declare Function SetLocalTime Lib "kernel32" Alias "SetLocalTime" (lpSystemTime As SYSTEMTIME) As Long 
说明 
设置当前地方时间 
返回值 
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError 
参数表 
参数 类型及说明 
lpSystemTime SYSTEMTIME,这个结构指定了新的地方时间。该结构中的wDayOfWeek条目会被忽略 


SetSysColors 

VB声明 
Declare Function SetSysColors Lib "user32" Alias "SetSysColors" (ByVal nChanges As Long, lpSysColor As Long, lpColorValues As Long) As Long 
说明 
设置指定窗口显示对象的颜色 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
nChanges Long,欲改变的对象的数量 
lpSysColor Long,按引用传递。这是一个整数数组(总共包含nChanges个元素)的第一个元素。每个条目都包含了一个常数,指定一个windows显示对象。参考GetSysColor函数 
lpColorValues Long,按引用传递。这是RGB值数组的第一个元素;该数组用于设置lpSysColor数组中的对象颜色 


SetSystemCursor 

VB声明 
Declare Function SetSystemCursor Lib "user32" Alias "SetSystemCursor" (ByVal hcur As Long, ByVal id As Long) As Long 
说明 
改变任何一个标准系统指针 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hcur Long,新指针 
id Long,以 OCR_ 前缀起头的一个常数,用于指定标准系统指针 
注解 
不要破坏由hcur指定的指针——在必要的时候,它会由系统自行清除
 

SetSystemTime 

VB声明 
Declare Function SetSystemTime Lib "kernel32" Alias "SetSystemTime" (lpSystemTime As SYSTEMTIME) As Long 
说明 
设置当前系统时间 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpSystemTime SYSTEMTIME,这个结构指定了新的地方时间。其中的wDayOfWeek条目会被忽略 


SetSystemTimeAdjustment 

VB声明 
Declare Function SetSystemTimeAdjustment Lib "kernel32" Alias "SetSystemTimeAdjustment" (ByVal dwTimeAdjustment As Long, ByVal bTimeAdjustmentDisabled As Boolean) As Long 
说明 
Win32可使内部系统时钟与一个外部的时钟信号源同步,方法是定时添加一个校准值。这个函数指定的所有时间都以100ns(0.1ms)为单位递增 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
dwTimeAdjustment Long,每次时钟中断时添加到内部系统时钟的时间量 
bTimeAdjustmentDisabled Boolean,TRUE用于禁止时间调校 


SetThreadLocale 

VB声明 
Declare Function SetThreadLocale Lib "kernel32" Alias "SetThreadLocale" (ByVal Locale As Long) As Long 
说明 
为当前线程设置地方 
返回值 
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError 
参数表 
参数 类型及说明 
Locale Long,这个线程使用的地方ID 
注解 
适用平台——Windows NT
 

SetTimeZoneInformation 

VB声明 
Declare Function SetTimeZoneInformation Lib "kernel32" Alias "SetTimeZoneInformation" (lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long 
说明 
设置系统时区信息 
返回值 
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError 
参数表 
参数 类型及说明 
lpTimeZoneInformation TIME_ZONE_INFORMATION,要在其中设置当前时区信息的一个结构 
注解 
参考GetTimeZoneInformation 


ShowCaret 

VB声明 
Declare Function ShowCaret Lib "user32" Alias "ShowCaret" (ByVal hwnd As Long) As Long 
说明 
在指定的窗口里显示插入符(光标) 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hwnd Long,包含了插入符的窗口的句柄。可以为零;此时,只有在插入符包含于由活动任务拥有的一个窗口时,它才会显示出来 
注解 
参考HideCaret函数
 

ShowCursor 

VB声明 
Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Long) As Long 
说明 
控制鼠标指针的可视性 
返回值 
Long,显示计数(参考注解) 
参数表 
参数 类型及说明 
bShow Long,TRUE(非零)显示指针,FALSE隐藏 
注解 
windows维持着一个内部显示计数;倘若bShow为TRUE,那么每调用一次这个函数,计数就会递增1;反之,如bShow为FALSE,则计数递减1。只有在这个计数大于或等于0的情况下,指针才会显示出来
 

SwapMouseButton 

VB声明 
Declare Function SwapMouseButton Lib "user32" Alias "SwapMouseButton" (ByVal bSwap As Long) As Long 
说明 
决定是否互换鼠标左右键的功能 
返回值 
Long,TRUE(非零)表示鼠标按钮的功能在调用这个函数之前已经互换;否则返回零 
参数表 
参数 类型及说明 
bSwap Long,倘若为TRUE(非零),则互换两个鼠标按钮的功能。FALSE则恢复正常状态 
注解 
鼠标是一种共享资源,所以这个函数会对系统中的所有应用程序造成影响
 

SystemParametersInfo, SystemParametersInfoByval 

VB声明 
Declare Function SystemParametersInfo& Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long)
Declare Function SystemParametersInfoByVal& Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) 
说明 
允许获取和设置数量众多的windows系统参数 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
uAction Long,指定要设置的参数。参考uAction常数表 
uParam Long,参考uAction常数表 
lpvParam Any,按引用调用的Integer、Long和数据结构。对于String数据,请用SystemParametersInfoByval函数。具体用法参考uAction常数表 
fuWinIni Long,取决于不同的参数及操作系统,随同这个函数设置的用户配置参数保存在win.ini或注册表里,或同时保存在这两个地方。这个参数规定了在设置系统参数的时候,是否应更新用户设置参数。可以是零(禁止更新),或下述任何一个常数: 
SPIF_UPDATEINIFILE 更新win.ini和(或)注册表中的用户配置文件 
SPIF_SENDWININICHANGE 倘若也设置了SPIF_UPDATEINIFILE,将一条WM_WININICHANGE消息发给所有应用程序。否则没有作用。这调消息告诉应用程序已经改变了用户配置设置 
注解 
在调用这个函数之前,特别要注意将lpvParam参数定义成正确的数据类型 


SystemTimeToTzSpecificLocalTime 

VB声明 
Declare Function SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" (lpTimeZoneInformation As TIME_ZONE_INFORMATION, lpUniversalTime As SYSTEMTIME, lpLocalTime As SYSTEMTIME) As Long 
说明 
将系统时间转换成地方时间 
返回值 
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError 
参数表 
参数 类型及说明 
lpTimeZoneInformation TIME_ZONE_INFORMATION,包含了时区信息的结构 
lpUniversalTime SYSTEMTIME,包含系统时间的结构 
lpLocalTime SYSTEMTIME,用于装载地方时间的结构 
注解 
适用平台:Windows NT 


ToAscii, ToAsciiEx 

VB声明 
Declare Function ToAscii& Lib "user32" (ByVal uVirtKey As Long, ByVal uScanCode As Long, lpbKeyState As Byte, lpwTransKey As Integer, ByVal fuState As Long)
Declare Function ToAsciiEx& Lib "user32" (ByVal uVirtKey As Long, ByVal uScanCode As Long, lpKeyState As Byte, lpwTransKey As Integer, ByVal fuState As Long, ByVal dwhkl As Long) 
说明 
根据当前的扫描码和键盘信息,将一个虚拟键转换成ASCII字符 
返回值 
Long,负值表明按键是“死”的——不能自己将自己转换成一个字符(重音键[accent keys]就是一个例子)。在给定当前键盘状态的前提下,如按键不能被转换(翻译),则返回0。如单个字符已载入lpwTransKey,则返回1。如lpwTransKey里已载入了两个字符(需要把它分隔到两个字节里),那么返回值是2。在当前字符集里,倘若单独一个字符不能表达键盘支持的死键或重音按键组合,就可能得到2的返回值 
参数表 
参数 类型及说明 
uVirtKey Long,欲转换的虚拟键 
uScanCode Long,键的扫描码。如键处于抬起状态,会设置高位(设为1);如按下,则清除高位(设为0) 
lpbKeyState Byte,描述了键盘状态的一个256字符数组的第一个条目。参考GetKeyboardState函数,了解关于这个数组更多的情况 
lpwTransKey Integer,用于装载转换过后的字符的一个整数变量。可用 chr()函数将这个值转换成一个字串 
fuState Long,如一个菜单处于活动状态,则设为1 
dwhkl Long,欲用于转换的一个键盘布局的句柄 
注解 
NumLock键的状态会被忽略,因为虚拟键码包括了哪个信息
在微软的win32手册里,对ToAsciiEx函数的建议是将它的lpwTransKey参数设为Long,而不要设为Integer。这里的函数声明根据实际的C语言头,它将参数定义成一个16位的字(既vb的整数)
 


ToUnicode 

VB声明 
Declare Function ToUnicode Lib "user32" Alias "ToUnicode" (ByVal wVirtKey As Long, ByVal wScanCode As Long, lpKeyState As Byte, ByVal pwszBuff As String, ByVal cchBuff As Long, ByVal wFlags As Long) As Long 
说明 
根据当前的扫描码和键盘信息,将一个虚拟键转换成Unicode字符 
返回值 
Long,值-1表明按键是“死”的——不能自己将自己转换成一个字符(重音键[accent keys]就是一个例子)。在给定当前键盘状态的前提下,如按键不能被转换(翻译),则返回0。如单个字符已载入pwszBuff,则返回1。如pwszBuff里已载入了两个或更多的字符,那么返回值是2。在当前字符集里,倘若单独一个字符不能表达键盘支持的死键或重音按键组合,就可能得到2的返回值 
参数表 
参数 类型及说明 
wVirtKey Long,欲转换的虚拟键 
wScanCode Long,键的扫描码。如键处于抬起状态,会设置高位;如按下,则清除高位 
lpKeyState Byte,描述了键盘状态的一个256字符数组的第一个条目。参考GetKeyboardState函数,了解关于这个数组更多的情况 
pwszBuff String,用于装载Unicode字符的一个字串缓冲区。注意事先对这个字串进行正确的初始化 
cchBuff Long,pwszBuff字串缓冲区的长度 
wFlags Long,如一个菜单处于活动状态,则设为1 
注解 
适用平台:Windows NT
 

[关闭][返回]