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.
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
Re: when calling CallWindowProc() on ms-word
Quote:
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.
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.