Hi Chris,
There's a small error in my other response regarding Windows NT. For that environment, when using the keybd_event() function, use VK_SCROLL - 1.
For any lukers, when calling GetKeyboardState(), you're actually passing an array of bytes to the function to fill. In C/C++ such arrays are zero based. This is also true in VB (unless Option Base 1 is set). The actual definition of VK_SCROLL is 0x91. The function fills the array based on the virtual keycode. In other words, the keycode represent the offset into the array. However, since VFP strings must be address from a base 1, I added 1 to VK_SCROLL.
Sorry, Chris, I hope you're not using NT and pulling your hair out< g >.
George
Ubi caritas et amor, deus ibi est