Click here to Skip to main content
15,886,518 members
Articles / Desktop Programming / MFC

Loading keyboard layout (KbdLayerDescriptor) in 32/64-bit environment

Rate me:
Please Sign up or sign in to vote.
4.75/5 (12 votes)
13 Aug 2012Ms-PL3 min read 44.6K   2.2K   17  
When loading a keyboard dll as a 32-bit application on a 64-bit system, the keyboard-dll-files does not work as expected, this class fixes that problem
��// Microsoft Visual C++ generated resource script.

//

#include "resource.h"



#define APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////

//

// Generated from the TEXTINCLUDE 2 resource.

//

#ifndef APSTUDIO_INVOKED

#include "targetver.h"

#endif

#include "afxres.h"

#include "verrsrc.h"



/////////////////////////////////////////////////////////////////////////////

#undef APSTUDIO_READONLY_SYMBOLS



/////////////////////////////////////////////////////////////////////////////

// English (United States) resources



#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)

LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US



/////////////////////////////////////////////////////////////////////////////

//

// Dialog

//



IDD_KEYBOARDLAYOUT_DIALOG DIALOGEX 0, 0, 363, 202

STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU

EXSTYLE WS_EX_APPWINDOW

CAPTION "KeyboardLayout"

FONT 8, "MS Shell Dlg", 0, 0, 0x1

BEGIN

    PUSHBUTTON      "Load keyboard",IDC_LOADKBL,302,181,54,14

    CONTROL         "",IDC_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,15,349,163

    CTEXT           "",IDC_X64,7,3,349,8

    LTEXT           "",IDC_DLL,7,187,210,8

    PUSHBUTTON      "Show Scan codes",IDC_SHOWSCANCODE,235,181,64,14

END





/////////////////////////////////////////////////////////////////////////////

//

// Version

//



VS_VERSION_INFO VERSIONINFO

 FILEVERSION 1,0,0,1

 PRODUCTVERSION 1,0,0,1

 FILEFLAGSMASK 0x3fL

#ifdef _DEBUG

 FILEFLAGS 0x1L

#else

 FILEFLAGS 0x0L

#endif

 FILEOS 0x40004L

 FILETYPE 0x1L

 FILESUBTYPE 0x0L

BEGIN

    BLOCK "StringFileInfo"

    BEGIN

        BLOCK "040904B0"

        BEGIN

            VALUE "CompanyName", "TODO: <Company name>"

            VALUE "FileDescription", "KeyboardLayout"

            VALUE "FileVersion", "1.0.0.1"

            VALUE "InternalName", "KeyboardLayout.exe"

            VALUE "LegalCopyright", "TODO: (c) <Company name>.  All rights reserved."

            VALUE "OriginalFilename", "KeyboardLayout.exe"

            VALUE "ProductName", "TODO: <Product name>"

            VALUE "ProductVersion", "1.0.0.1"

        END

    END

    BLOCK "VarFileInfo"

    BEGIN

        VALUE "Translation", 0x409, 1200

    END

END





/////////////////////////////////////////////////////////////////////////////

//

// DESIGNINFO

//



#ifdef APSTUDIO_INVOKED

GUIDELINES DESIGNINFO

BEGIN

    IDD_KEYBOARDLAYOUT_DIALOG, DIALOG

    BEGIN

        LEFTMARGIN, 7

        RIGHTMARGIN, 356

        TOPMARGIN, 7

        BOTTOMMARGIN, 195

        HORZGUIDE, 15

    END

END

#endif    // APSTUDIO_INVOKED



#endif    // English (United States) resources

/////////////////////////////////////////////////////////////////////////////





/////////////////////////////////////////////////////////////////////////////

// Norwegian, Bokm�l (Norway) resources



#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NOR)

LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL



#ifdef APSTUDIO_INVOKED

/////////////////////////////////////////////////////////////////////////////

//

// TEXTINCLUDE

//



1 TEXTINCLUDE 

BEGIN

    "resource.h\0"

END



2 TEXTINCLUDE 

BEGIN

    "#ifndef APSTUDIO_INVOKED\r\n"

    "#include ""targetver.h""\r\n"

    "#endif\r\n"

    "#include ""afxres.h""\r\n"

    "#include ""verrsrc.h""\r\n"

    "\0"

END



3 TEXTINCLUDE 

BEGIN

    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"

    "#define _AFX_NO_OLE_RESOURCES\r\n"

    "#define _AFX_NO_TRACKER_RESOURCES\r\n"

    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"

    "\r\n"

    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"

    "LANGUAGE 9, 1\r\n"

    "#include ""res\\KeyboardLayout.rc2""  // non-Microsoft Visual C++ edited resources\r\n"

    "#include ""afxres.rc""      // Standard components\r\n"

    "#endif\r\n"

    "\0"

END



#endif    // APSTUDIO_INVOKED





/////////////////////////////////////////////////////////////////////////////

//

// Icon

//



// Icon with lowest ID value placed first to ensure application icon

// remains consistent on all systems.

IDR_MAINFRAME           ICON                    "res\\KeyboardLayout.ico"



/////////////////////////////////////////////////////////////////////////////

//

// Dialog

//



IDD_KEYBOARDLAYOUT DIALOGEX 0, 0, 492, 154

STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU

CAPTION "Keyboard Scancodes and layout"

FONT 8, "MS Shell Dlg", 400, 0, 0x1

BEGIN

    PUSHBUTTON      "Hide",IDCANCEL,442,139,50,14

    CONTROL         131,IDC_STATIC,"Static",SS_BITMAP,0,0,492,138

    LTEXT           "From http://www.quadibloc.com/comp/scan.htm",IDC_STATIC,6,142,156,8

END





/////////////////////////////////////////////////////////////////////////////

//

// DESIGNINFO

//



#ifdef APSTUDIO_INVOKED

GUIDELINES DESIGNINFO

BEGIN

    IDD_KEYBOARDLAYOUT, DIALOG

    BEGIN

        LEFTMARGIN, 7

        RIGHTMARGIN, 369

        TOPMARGIN, 7

    END

END

#endif    // APSTUDIO_INVOKED





/////////////////////////////////////////////////////////////////////////////

//

// Bitmap

//



IDB_SCANCODES           BITMAP                  "res\\KeyboardScancodes.bmp"

#endif    // Norwegian, Bokm�l (Norway) resources

/////////////////////////////////////////////////////////////////////////////







#ifndef APSTUDIO_INVOKED

/////////////////////////////////////////////////////////////////////////////

//

// Generated from the TEXTINCLUDE 3 resource.

//

#define _AFX_NO_SPLITTER_RESOURCES

#define _AFX_NO_OLE_RESOURCES

#define _AFX_NO_TRACKER_RESOURCES

#define _AFX_NO_PROPERTY_RESOURCES



#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)

LANGUAGE 9, 1

#include "res\KeyboardLayout.rc2"  // non-Microsoft Visual C++ edited resources

#include "afxres.rc"      // Standard components

#endif



/////////////////////////////////////////////////////////////////////////////

#endif    // not APSTUDIO_INVOKED



By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)


Written By
Engineer A/S Norske Shell (Dutch Shell)
Norway Norway
----------------------------------
Visit http://lars.werner.no/ for my blog!
----------------------------------
Retired programmer, Norway never had the jobs I wanted Smile | :)

Comments and Discussions