Detection of Keyboard layout change

Hello,
I am using Borland Embaracodero RAD Studio 7 and I want to trap a windows event of keyboard layout change. Ex. If some one changes his/her key board layout from say English to Arabic then my application will notify and will throw a message,it was the intend. I found in MSDN that there is a Message type called WM_INPUTLANGCHANGEREQUEST which needs to be used to identify the event. But Unfortunately the control is not reaching to the desired code block for changing keyboard layout.

I tried the code like as follows but it NOT work. anyone can help?

void __fastcall TFormMain::WndProc(TMessage &Msg) {

if (Msg.Msg ==WM_INPUTLANGCHANGEREQUEST) {

    ShowMessage("KeyBoard Layout Changed"); // this will stop the message here

}
TForm::WndProc(Msg);

}
__fastcall TFormMain::TFormMain(TComponent* Owner)
: TForm(Owner)
{
this->WindowProc = WndProc;
}

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories