-
January 15th, 2010, 12:24 AM
#1
when calling CallWindowProc() on ms-word
Hello,
I have explained my problem step by step:
1. Firstly I have sub-classed the winword with my windows procedure with appropriate sub-classing requirement (rules).
2. After sub-classing, from my own application i am sending WM_USER + 40 message with character 'x' to winword.
3. As i have sub-classed first this 'x' will come to my WndProc then i will do some operation on 'x' and processed 'x' will forward to original winwords 's WndProc. See following my WndProc
LRESULT CALLBACK
NewWndProcFocused(
HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam
)
{
LRESULT lResult;
switch (message)
{
case WM_USER + 40:
message = WM_CHAR;
break;
}
//
// Calling original focused window procedure.
//
lResult = CallWindowProc(
g_WndProcFocusedOrignl,
hwnd,
message,
wParam,
lParam
);
return lResult;
}
4. Now words WndProc supposed to write 'x' at ms-word .
5. But i am not seeing any result.
But for other application's like Internet Explore, Notepad, Wordpad every where it is working.
Thanks and Regards
Joseph.
-
January 17th, 2010, 12:34 PM
#2
Re: when calling CallWindowProc() on ms-word
How do you know what you must do to write a character to MS-Word? The only ones who know work for (or used to work for) Microsoft, and worked on the MS-Word program. All of those other applications you tried were just lucky guesses as to how to write a character.
Unless the program has an API associated with it, or documents fully how to automate it, then you cannot assume you know how to write characters to the application. That's why programs have things such as OLE Automation so that you can control those applications. You don't control applications by coming up with your own scheme and hoping it works.
Regards,
Paul McKenzie
Last edited by Paul McKenzie; January 17th, 2010 at 12:38 PM.
-
January 18th, 2010, 01:32 AM
#3
Re: when calling CallWindowProc() on ms-word
Originally Posted by Paul McKenzie
How do you know what you must do to write a character to MS-Word? The only ones who know work for (or used to work for) Microsoft, and worked on the MS-Word program. All of those other applications you tried were just lucky guesses as to how to write a character.
Unless the program has an API associated with it, or documents fully how to automate it, then you cannot assume you know how to write characters to the application. That's why programs have things such as OLE Automation so that you can control those applications. You don't control applications by coming up with your own scheme and hoping it works.
Regards,
Paul McKenzie
Yes its true, but when i use API SendMessage(hWnd_To_TargetWindow, WM_CHAR, 'x', 1 );
it works fine. Here i have not used any OLE automation.
Thanks,
P Joseph.
-
January 20th, 2010, 03:10 AM
#4
Re: when calling CallWindowProc() on ms-word
Yes its true, but when i use API SendMessage(hWnd_To_TargetWindow, WM_CHAR, 'x', 1 );
it works fine. Here i have not used any OLE automation.
Thanks,
P Joseph.
Tags for this Thread
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
|