精华区 [关闭][返回]

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

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

VB声明 
Declare Function IsValidLocale Lib "KERNEL32" Alias "IsValidLocale" (ByVal Locale As Long, ByVal dwFlags As Long) As Long 
说明 
判断地方标识符是否有效 
返回值 
Long,根据测试条件,如指定的地方有效,就返回TRUE(非零);否则返回零 
参数表 
参数 类型及说明 
Locale Long,要检查的地方标识符 
dwFlags Long,下述常数之一: 
LCID_SUPPORTED 检查“地方”是否能由系统支持 
LCID_INSTALLED 检查“地方”是否已获支持并安装 


keybd_event 

VB声明 
Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) 
说明 
这个函数模拟了键盘行动 
参数表 
参数 类型及说明 
bVk Byte,欲模拟的虚拟键码 
bScan Byte,键的OEM扫描码 
dwFlags Long,零;或设为下述两个标志之一 
KEYEVENTF_EXTENDEDKEY 指出是一个扩展键,而且在前面冠以0xE0代码 
KEYEVENTF_KEYUP 模拟松开一个键 
dwExtraInfo Long,通常不用的一个值。api函数GetMessageExtraInfo可取得这个值。允许使用的值取决于特定的驱动程序 
注解 
这个函数支持屏幕捕获(截图)。在win95和nt4.0下这个函数的行为不同 


LoadKeyboardLayout 

VB声明 
Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long 
说明 
载入一个键盘布局 
返回值 
Long,键盘布局的句柄。零表示出错 
参数表 
参数 类型及说明 
pwszKLID String,一个8字符字串,用于描述键盘布局的名称。参考注解 
flags Long,下述常数的任何一种组合 
KLF_ACTIVATE 载入和激活指定的布局 
KLF_NOTELLSHELL 禁止一个外壳挂钩进程(a shell hook procedure)接收到HSHELL_LANGUAGE通告。如准备载入一系列键盘布局,就需要考虑设置这个标志,从而改善性能(不要为最后一个载入的布局设置该标志) 
KLF_REORDER 将指定的活动布局移至内部键盘布局列表的起始处 
KLF_REPLACELANG 如指定语言的键盘布局已经存在,则用这个将其替换。仅适用于win95 
KLF_SUBSTITUTE_OK 在注册表中使用替换信息,为这个语言载入一个由用户指定的替换键盘布局(如果存在的话),而不是载入当前这个布局 
KLF_UNLOADPREVIOUS 如KLF_ACTIVATE已经指定并成功,则卸载前一个布局 
注解 
键盘布局的名称采用“ddddnnnn”的形式。其中,nnnn代表一个语言ID的字串形式,而dddd代表一个设备代码的字串形式。标准的美国键盘名称是“00000409”
 
其他 
键盘布局在win95中取决于特定的线程;在windows nt中,则在整个系统的范围内有效 



MapVirtualKey 

VB声明 
Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long 
说明 
根据指定的映射类型,执行不同的扫描码和字符转换 
返回值 
Long,取决于wMapType参数 
参数表 
参数 类型及说明 
wCode Long,欲转换的源字符或扫描码 
wMapType Long,控制映射类型,如下所示 
0—— wCode是个虚拟键码。函数返回相应的扫描码
1—— wCode是个扫描码。函数返回相应的虚拟键码
2—— wCode是个虚拟键码。函数返回相应的ASCII值(未加Shift组合键) 


MapVirtualKeyEx 

VB声明 
Declare Function MapVirtualKeyEx Lib "user32" Alias "MapVirtualKeyExA" (ByVal uCode As Long, ByVal uMapType As Long, ByVal dwhkl As Long) As Long 
说明 
根据指定的映射类型,执行不同的扫描码和字符转换 
返回值 
Long,取决于uMapType参数 
参数表 
参数 类型及说明 
uCode Long,欲转换的源字符或代码 
uMapType Long,控制映射类型,如下所示 
0—— uCode是个虚拟键码。函数返回相应的扫描码
1—— uCode是个扫描码。函数返回相应的虚拟键码
2—— uCode是个虚拟键码。函数返回相应的ASCII值(未加Shift组合键)。针对死键,高位设为1。如果出错,返回NULL 
dwhkl Long,键盘布局的句柄 
注解 
利用这个函数,可在扫描码及附加的虚拟键码间转换。这些虚拟键码包括VK_LSHIFT 和 VK_RSHIFT等。这样一来,便可为表面上两个完全一样的键(也包括Ctrl 和 Alt)区分左键和右键
 

MessageBeep 

VB声明 
Declare Function MessageBeep Lib "user32" Alias "MessageBeep" (ByVal wType As Long) As Long 
说明 
播放一个系统声音。系统声音的分配方案是在控制面板里决定的 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
wType Long,下述值之一 
0xffffffff 标准响铃 
MB_ICONASTERISK 系统星号声(System asterisk sound) 
MB_ICONEXCLAMATION 系统惊叹声 
MB_ICONHAND 系统指针声(System hand sound) 
MB_ICONQUESTION 系统提问声 


mouse_event 

VB声明 
Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) 
说明 
模拟一次鼠标事件 
参数表 
参数 类型及说明 
dwFlags Long,下述标志的一个组合 
MOUSEEVENTF_ABSOLUTE dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元 
MOUSEEVENTF_MOVE 移动鼠标 
MOUSEEVENTF_LEFTDOWN 模拟鼠标左键按下 
MOUSEEVENTF_LEFTUP 模拟鼠标左键抬起 
MOUSEEVENTF_RIGHTDOWN 模拟鼠标右键按下 
MOUSEEVENTF_RIGHTUP 模拟鼠标右键按下 
MOUSEEVENTF_MIDDLEDOWN 模拟鼠标中键按下 
MOUSEEVENTF_MIDDLEUP 模拟鼠标中键按下 
dx Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动 
dy Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动 
cButtons Long,未使用 
dwExtraInfo Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序 
注解 
进行相对运动的时候,由SystemParametersInfo函数规定的系统鼠标轨迹速度会应用于鼠标运行的速度
 

OemKeyScan 

VB声明 
Declare Function OemKeyScan Lib "user32" Alias "OemKeyScan" (ByVal wOemChar As Long) As Long 
说明 
判断OEM字符集中的一个ASCII字符的扫描码和Shift键状态 
返回值 
Long,低字包含了扫描码。高字包含了下述标志:位0标志着Shift已经按下;位1标志着Ctrl键按下;位2标志着Alt键按下。如两个字都为-1,表明字符未在OEM字符集中得到定义 
参数表 
参数 类型及说明 
wOemChar Long,欲转换的字符的ASCII值 
注解 
这个函数只能转换那些单击键就能生成的字符。倘若字符要通过“Alt+3数位”(比如Alt+255)才能出现,则不能用这个函数转换
原文:This function only translates keys that can be typed with a single keystroke. Keys that are entered using the ALT + 3 digit entry cannot be converted with this function.
 

OemToChar, OemToCharBuff 

VB声明 
Declare Function OemToChar& Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String)
Declare Function OemToCharBuff& Lib "user32" Alias "OemToCharBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal cchDstLength As Long) 
说明 
将OEM字符集的一个字串转换到ANSI字符集。OemToCharBuff允许我们指定字串中欲转换的字符数量 
返回值 
Long,肯定是TRUE 
参数表 
参数 类型及说明 
lpszSrc String,欲转换的字串 
lpszDst String,用于容纳ANSI转换结果的一个字串。注意先将字串初始化成合适的长度。可将相同的字串传递给两个参数,以便在同一个字串中进行转换 
cchDstLength Long,字串中要转换的字符数量 
注解 
如使用一个Win32类型库访问宽字符函数OemToCharW,那么lpszSrc是个Unicode字串,而且lpszDst参数绝对不能与lpszSrc相同
 

SetCaretBlinkTime 

VB声明 
Declare Function SetCaretBlinkTime Lib "user32" Alias "SetCaretBlinkTime" (ByVal wMSeconds As Long) As Long 
说明 
指定插入符(光标)的闪烁频率 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
wMSeconds Long,插入符新的闪烁间隔时间,以毫秒为单位 
注解 
插入符或插入标志是一种共享资源,所以闪烁时间设定会对所有应用程序的插入符产生影响。可用GetCaretBlinkTime函数获得最初的闪烁时间设置。以后在适当的时候,可用这个设置恢复最开始的值。参考CreateCaret函数的注解
 

SetCaretPos 

VB声明 
Declare Function SetCaretPos Lib "user32" Alias "SetCaretPos" (ByVal x As Long, ByVal y As Long) As Long 
说明 
指定插入符的位置 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
x,y Long,插入符在客户区坐标系统中的X,Y位置 
注解 
插入符是一种共享资源。在更改插入符的位置之前,程序员应确定插入符位于由当前任务拥有的一个窗口内。参考CreateCaret函数的注解
 

SetComputerName 

VB声明 
Declare Function SetComputerName Lib "kernel32" Alias "SetComputerNameA" (ByVal lpComputerName As String) As Long 
说明 
设置新的计算机名 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpComputerName String,新的计算机名称。最多可有MAX_COMPUTERNAME_LENGTH个字符 
注解 
windows95会将任何非法字符自动转换到标准的字符集里。windows nt则会报告出错
 

SetCursor 

VB声明 
Declare Function SetCursor Lib "user32" Alias "SetCursor" (ByVal hCursor As Long) As Long 
说明 
将指定的鼠标指针设为当前指针 
返回值 
Long,前一个指针的值 
参数表 
参数 类型及说明 
hCursor Long,要设为当前指针的一个指针的句柄。如设为零,表示不显示任何指针 
注解 
在vb里这个函数不能很好的工作,因为vb习惯在不同的时间将指针变回原来的样子 


SetCursorPos 

VB声明 
Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Long, ByVal y As Long) As Long 
说明 
设置指针的位置 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
x,y 鼠标指针在屏幕像素坐标系统中的X,Y位置 



SetDoubleClickTime 

VB声明 
Declare Function SetDoubleClickTime Lib "user32" Alias "SetDoubleClickTime" (ByVal wCount As Long) As Long 
说明 
设置连续两次鼠标单击之间能使系统认为是双击事件的间隔时间 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
wCount Long,新的DoubleClick间隔时间,以毫秒为单位 
注解 
双击时间设定的变化会影响整个系统
 


SetEnvironmentVariable 

VB声明 
Declare Function SetEnvironmentVariable Lib "kernel32" Alias "SetEnvironmentVariableA" (ByVal lpName As String, ByVal lpValue As String) As Long 
说明 
将一个环境变量设为指定的值 
返回值 
Long,TRUE(非零)表示成功,否则返回零。会设置GetLastError 
参数表 
参数 类型及说明 
lpName String,欲设置的环境变量的名称。如具有这个名称的一个环境变量尚不存在,则函数会自动创建它 
lpValue String,欲为变量设置的新值。如为NULL,表示清除一个现成值(用vbNullString常数向这个函数传递一个NULL) 

[关闭][返回]