The information in this article applies to:
SUMMARYVHotKeyd.exe is a sample VxD that demonstrates the steps necessary to reflect a hot key into the system virtual machine. Some Windows-based applications implement shortcut ("hot") keys by establishing a Windows hook that scans the stream of keystrokes typed and responds to the hot key. While this technique works correctly within the Windows system virtual machine in 386 enhanced mode, the hot key will not be recognized while an MS-DOS virtual machine (VM) has the focus because the keystroke will not be visible to the Windows system virtual machine. In order to define a "global" hot key that is active even while an MS-DOS- based application is running, a virtual device (VxD) must be written to perform this task. This article describes the steps for writing such a VxD. MORE INFORMATION
VHotKeyd.exe sets up a global hot key through the VKD_Define_Hot_Key
service. The hot key handler schedules a system-VM- specific event that
will force the focus to the system VM through the System_Control service
and force the keystroke into the system VM through the VKD_Reflect_Hot_Key
service. Instead of the VKD_Reflect_Hot_Key service, you can use the
VKD_Force_Keys service. However, in that case the hot key handler must
explicitly call VKD_Cancel_Hot_Key_state. Furthermore, the hot key must be
defined with the Local_key option and must be locally disabled for the
system VM. The advantage of using VKD_Force_Keys is that the hot key is
inserted into the VM's virtual keyboard buffer so that keystrokes submitted
before the hot key will still be processed in the VM's context.
Vhotkeyd.exeFor more information about how to download files from the Microsoft Download Center, please visit the Download Center at the following Web address http://www.microsoft.com/downloads/search.aspand then click How to use the Microsoft Download Center. Additional query words:
Keywords : kbfile kbsample kb16bitonly kbDDK |
Last Reviewed: December 15, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |