*--模拟键盘协作,如 Ctrl+V
Declare keybd_event In Win32API Short bVk,Short bScan,Integer dwFlags, Integer deExtraInfo
keybd_event(17, 0, 0, 0)
keybd_event(Asc('V'), 0, 0, 0)
keybd_event(Asc('V'), 0, 2, 0)
keybd_event(17, 0, 2, 0)
*或
#Define VK_CONTROL 0x11
#Define KEYEVENTF_KEYUP 0x02
Declare Long keybd_event In "user32" Integer bVk , Integer bScan, Long dwFlags, Long dwExtraInfo
*Thisform.OleRichText.SetFocus
Clear Typeahead
keybd_event(VK_CONTROL, 0, 0, 0) && 模拟按下 Ctrl 键
keybd_event(Asc('V'), 0, 0 ,0) && 模拟按下 V 键
keybd_event(Asc('V'), 0, KEYEVENTF_KEYUP, 0) && 松开 V 键
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0) && 松开 Ctrl 键
****
* KEYEVENTF_KEYUP = &H2 ' Release key
* VK_RETURN = &HD 'enter
* VK_SHIFT = &H10 'Shift
* VK_CONTROL = &H11 'Ctrl
* VK_CAPITAL = &H14 'capslock
* VK_ESCAPE = &H1B 'escape
*--模拟鼠标动作,如 单击左键
MOUSEEVENTF_LEFTDOWN=0x2
MOUSEEVENTF_LEFTUP=0x4
MOUSEEVENTF_MIDDLEDOWN=0x20
MOUSEEVENTF_MIDDLEUP=0x40
MOUSEEVENTF_MOVE=0x1
MOUSEEVENTF_ABSOLUTE=0x8000
MOUSEEVENTF_RIGHTDOWN=0x8
MOUSEEVENTF_RIGHTUP=0x10
Declare mouse_event In Win32API Integer dwFlags,Integer dx,Integer dy,Integer cButtons,Integer dwExtraInfo
=mouse_event(MOUSEEVENTF_ABSOLUTE+MOUSEEVENTF_MOVE,10000,10000,0,0) &&移动鼠标到绝对位置10000,10000(在鼠标坐标系统中,不管什么分辨率屏幕在水平和垂直方向上均匀分割成65535×65535个单元)
=mouse_event(MOUSEEVENTF_LEFTDOWN+MOUSEEVENTF_LEFTUP,0,0,0,0) &&单击左键(按下再松开的组合)
*=mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0)
*=mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0)
*--以下为VB模拟鼠标的说明及例子
'-------------------------------------------'
' 模拟鼠标的左键单击和右键单击'
'-------------------------------------------'
'程序说明:'
'本例采用API函数实现模拟的鼠标事件,程序运行后会'
'产生十分有趣的效果。也来试一试。'
'本例中只使用了相对鼠标坐标,我们也可以使用绝对'
'鼠标坐标来试一试。'
'-------------------------------------------'
'【VB声明】'
' Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)'
'【说明】'
' 模拟一次鼠标事件'
'【备注】'
' 进行相对运动的时候,由SystemParametersInfo函数规定的系统鼠标轨迹速度会应用于鼠标运行的速度'
'【参数表】'
' 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函数可取得这个值。可用的值取决于特定的驱动程序'
Option Explicit
Private Declare Sub &n
文章出处:http://www.diybl.com/course/4_webprogram/asp.net/netjs/2007113/82436.html