Library tutorials & articles
Simulating User Actions
- Mouse Movements
- Keyboard Events
- Buttons being clicked
Keyboard Events
This module lets you simulate keyboard events. Many thanks to Rohit Kulshreshtha for this!
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte,
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Const KEYEVENTF_EXTENDEDKEY = &H1
Public Const KEYEVENTF_KEYUP = &H2
Public Sub KeyDown(KCC As KeyCodeConstants)
keybd_event KCC, 0, 0, 0
End Sub
Public Sub KeyUp(KCC As KeyCodeConstants)
keybd_event KCC, 0, KEYEVENTF_KEYUP, 0
End Sub
Public Sub KeyPress(KCC As KeyCodeConstants)
KeyDown KCC
KeyUp KCC
End Sub
Public Sub ShiftOnn()
KeyDown vbKeyShift
End Sub
Public Sub ShiftOff()
KeyUp vbKeyShift
End Sub
Public Sub CtrlOnn()
KeyDown vbKeyControl
End Sub
Public Sub CtrlOff()
KeyUp vbKeyControl
End Sub
Related articles
Related podcasts
-
Christian Beauclair
14 mai 2008 (�mission #0074) ::.Christian Beauclair: Stratégies de migration VB6 vers .NET Nous discutons avec Christian Beauclair des stratégies de migration VB6 vers .NET. Entre autres, nous discutons comment utiliser le "VB 6 Code Advisor" et le "Interop Forms Toolkit" pour ajouter la puiss...
Will this code prevent the screensaver from beeing activated (if I just use the mouse movement now and then)?
/Max
I can't make it work.
I'm using this code:
Select Case tMover.Tag
Case 0
MoveMouse GetCurrentX + 10, GetCurrentY
tMover.Tag = 1
Case 1
MoveMouse GetCurrentX + 10, GetCurrentY + 10
tMover.Tag = 2
Case 2
MoveMouse GetCurrentX, GetCurrentY + 10
tMover.Tag = 3
Case 3
MoveMouse GetCurrentX - 10, GetCurrentY + 10
tMover.Tag = 4
Case 4
MoveMouse GetCurrentX - 10, GetCurrentY
tMover.Tag = 5
Case 5
MoveMouse GetCurrentX - 10, GetCurrentY - 10
tMover.Tag = 6
Case 6
MoveMouse GetCurrentX, GetCurrentY - 10
tMover.Tag = 7
Case 7
MoveMouse GetCurrentX + 10, GetCurrentY - 10
tMover.Tag = 0
End Select
End Sub
To move the mouse around in a circle with a timer. But all it do is moving the mouse towards the bottom right corner. What am I doing wrong?
I can't make it work.
I'm using this code:
Select Case tMover.Tag
Case 0
MoveMouse GetCurrentX + 10, GetCurrentY
tMover.Tag = 1
Case 1
MoveMouse GetCurrentX + 10, GetCurrentY + 10
tMover.Tag = 2
Case 2
MoveMouse GetCurrentX, GetCurrentY + 10
tMover.Tag = 3
Case 3
MoveMouse GetCurrentX - 10, GetCurrentY + 10
tMover.Tag = 4
Case 4
MoveMouse GetCurrentX - 10, GetCurrentY
tMover.Tag = 5
Case 5
MoveMouse GetCurrentX - 10, GetCurrentY - 10
tMover.Tag = 6
Case 6
MoveMouse GetCurrentX, GetCurrentY - 10
tMover.Tag = 7
Case 7
MoveMouse GetCurrentX + 10, GetCurrentY - 10
tMover.Tag = 0
End Select
End Sub
To move the mouse around in a circle with a timer. But all it do is moving the mouse towards the bottom right corner. What am I doing wrong?
[edit] Nevermind. I thought that positions were absolute. They're relative
Many many thanks for this.
I had found something somewhere else on calling API procedures but couldn't get it to work.
I had been searching for ages for something like this and am very grateful for it.
I was trying to create something in Excel that does a screen scrape of a payments system developed in-house, but one of the pages that contained the info I needed called for a right mouse click with no shortcut-key. Another thing required a mouse-click into a field that had neither an accelerator nor was it a tab-stop. So emulating a mouse move and click was the only thing I could do.
Oh the possibilities!
I wan to to do this but with a captionless button on crystal reports preview windows to force click event search button
This thread is for discussions of Simulating User Actions.