Aug 132012

I have been working on a OnScreenkeyboard for a while, and I wanted to use the available resources for a easy multilingual system.

In windows there are kbd**.dll-files that contain arrays of scan codes, virtual keys and characters linked to VK/SC. To avoid inventing the wheel again, I tried to use these.

My developer computer is a Win7-x64, and I have a VM running WinXP (32-bit) on it.
I created a 32-bit application, with default MFC-configuration.
I noticed that the pVkToWcharTable is NULL on the 64-bit machine and not NULL on the 32-bit machine after running the init KbdLayerDescriptor(). This occurred even if they loaded the same 32-bit-dll.

I tried several solutions, but all of them required to compile one 32-bit and one 64-bit version of the program. That wasn’t a satisfying solution for me, so I created a wrapper to handle such special events.

Read the article Load and init keyboard-dlls in a 64-bit enviroment (KbdLayerDescriptor), to read and download my example from the picture above.

If there are other clever souls out there who have a better way of doing it, please let me know!

 Posted by at 11:31:10

Leave a Reply