Visual Basic's Sendkeys statement does not work beyond XP. The only way that Visual Basic programers can send keys under Vista or Win 7 is to use the Windows API, SendInput function and that can mean a huge amount of re-coding in applications originally written using the VB Sendkeys statement. Fortunately, M8 can provide a much easier solution.
Keysend.bas is a module which wraps SendInput into a new sub Sendkey. Sendkey is a direct replacement for the VB Sendkeys. To use it, all you have to do is add the module to your project then replace "Sendkeys" with "Sendkey" in your code. Sendkey interprets all Sendkeys parameters without modification.
In addition to fixing Sendkeys problems under Vista, Sendkey also includes the following features not available in the VB Sendkeys:
1. It can send the PrtScr key
2. You can specify that numbers are from the numeric keypad
3. You can set the state of the capslock, numlock and scrollock keys
4. You can send keys between applications with different keyboard layouts.
There are versions for VB5/6/VBA and VB.Net.
What's new in version 3.0
Version 3 features: individual keys are now sent using SendInput instead of Keybd_Event.
ReleaseSeptember 16, 2014
Date AddedSeptember 19, 2007
Operating SystemsWindows 2003, Windows Vista, Windows 98, Windows Me, Windows, Windows NT, Windows 2000, Windows 8, Windows Server 2008, Windows 7, Windows XP