-
October 22nd, 2003, 02:19 AM
#1
Intercepting wm_char
i have to hook the keyboard and get keydown event and which key is pressed and then
intercept the wm_char message which is generated for that keydown event and change that particular character and translate that to my own character and that character is an extended ascii character.
Sir i have designed a font file and i included lot of new characters in the font file to accomadate more characters which Tamil language have.I can easily manage to access the 52 characeters in A_Z and a-z using normal keyboard ,but i have included 200 characters .I am not using unicode for i am not using opentype font but only true type font.the remaining characters are in other ascii range .Is it possibe to display them by changing the wm_char message.?
if so how is it possible ?
Do anybody know how to hook the message and intercept keyboard messages and change the character system wide.
thanks in advance
-
October 22nd, 2003, 02:52 AM
#2
Re: Intercepting wm_char
Originally posted by rvvimal
i have to hook the keyboard and get keydown event and which key is pressed and then
intercept the wm_char message which is generated for that keydown event and change that particular character and translate that to my own character and that character is an extended ascii character.
Sir i have designed a font file and i included lot of new characters in the font file to accomadate more characters which Tamil language have.I can easily manage to access the 52 characeters in A_Z and a-z using normal keyboard ,but i have included 200 characters .I am not using unicode for i am not using opentype font but only true type font.the remaining characters are in other ascii range .Is it possibe to display them by changing the wm_char message.?
if so how is it possible ?
Do anybody know how to hook the message and intercept keyboard messages and change the character system wide.
thanks in advance
If you have all of the characters in a TTF file all u have to do is to SendMessage to that window with WM_CHAR message and number in your font file
for example if you want to display 65 in your edit box send message like this
m_editBox.SendMessage ( WM_CHAR, 65, 0 )
you can replace 65 with what ever u want
-
October 22nd, 2003, 03:00 AM
#3
intercepting wm_char messages
Thank you very much Mr.Shehzad_Salim
The problem i have is i have to intercept all key events and track the wm_char message generated by that keydown event and send to any application which is having the current focus.
For example if a user is typing in word and if he selects my font then he should be able to type in that or if he chose notepad or photoshop then he should be able to type in that application and using my application they should be able to get access to those extended ascii characters.
-
October 22nd, 2003, 04:51 AM
#4
Get the handle of current window
then call IsKindOf and dertermine either that window is of type editbox etc... if so send WM_CHAR message
-
October 22nd, 2003, 05:05 AM
#5
intercept wm_char messages
Thank you very much Mr.Shehzad_Salim
i managed to get the handle of the active window ie formost window using the api GetForegroundWindow
i read about IsKindOf function and it is really beyond my level to understand what has given in that msdn article.
Sir i have got the keystrokes and i managed to combine the keystrokes also and i want to do is to intercept the message that window is generating for that keydown event and from that message take wm_char parameter and change that parameter.
Sir i need your help in
1. How to intercept that message before it goes to the respective application.
2.how to obtain wm_char message from that intercepted message.
3.How to change ?
4 how to send to the active application?
Thanks in advance
rv vimal
-
October 22nd, 2003, 05:16 AM
#6
If u want to get the notification about the notification about any message dispachted to a particular window there u can PreTranslateMessage but this is about if your r owing the process.
But if not then u r not owing the process
then u have to call ::TranslateMessage and don't call the api which will send the message to the current window i.e. :ispatchMessage
you can look more closely about these api's in MSDN
TranslateMessage
DispatchMessage
GetMessage
and more importantly MSG structure which has very important information
-
October 27th, 2003, 12:49 AM
#7
intercepting wm_char message
Thank you very much Mr.Shehzad_Salim
Sir i need little detailed answers and how to implement practically with if possible with an example.
1. How to intercept that message before it goes to the respective application or any application , from my application.
2.how to obtain wm_char message from that intercepted message.
4.How to prevent that message from going to its defalut application.
3.How to change the wm_char message and load my own exteded ascii wm_char message ?
4 how to send to the active application or to the application that message to be send ?
Sir I want answers in the form of 1,2,3 & 4 for each question and if possible elobrate answers for me to apply that codings in my aplication.
Thanks in advance
rv vimal
-
October 27th, 2003, 01:36 AM
#8
Re: intercepting wm_char message
Originally posted by rvvimal
Thank you very much Mr.Shehzad_Salim
Sir i need little detailed answers and how to implement practically with if possible with an example.
1. How to intercept that message before it goes to the respective application or any application , from my application.
2.how to obtain wm_char message from that intercepted message.
4.How to prevent that message from going to its defalut application.
3.How to change the wm_char message and load my own exteded ascii wm_char message ?
4 how to send to the active application or to the application that message to be send ?
Sir I want answers in the form of 1,2,3 & 4 for each question and if possible elobrate answers for me to apply that codings in my aplication.
Thanks in advance
rv vimal
Check the below link
http://www.codeproject.com/system/hooksys.asp
This would help you in intercept messages.......
-
November 6th, 2003, 02:41 AM
#9
Thank you very much Mr.Shehzad_Salim
The Sight you have mentioned is really useful but the ideas are very tough for a student like me to understand.But it is a shame on my part.
Sir all i need is say if a user type A from the keyboard it should be converted to say € irrespective of whatever the application is running may be it is visual studio or word or notepad or photshop u name it '
I need some guidance from you how to implement this idea on a system wide basis may be if possible with some eloborate codings .
Thanks in advance.
-
November 11th, 2003, 06:44 AM
#10
Thank you very much Mr.Shehzad_Salim
I found out that the best possible method to implement to get a keyboard message is setting up a Wh_getmessage hook
to obtain system wide hook.
using the pointer of the msg structure i can get the wm_char message.
Sir tell me how to change that character message to extended ascii character
Thanks and if u give your email id then i can mail to you in detail.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|