CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 4 of 4
  1. #1
    Join Date
    Jan 2010
    Posts
    3

    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.

  2. #2
    Join Date
    Apr 1999
    Posts
    27,449

    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.

  3. #3
    Join Date
    Jan 2010
    Posts
    3

    Re: when calling CallWindowProc() on ms-word

    Quote Originally Posted by Paul McKenzie View Post
    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.

  4. #4
    Join Date
    Jan 2010
    Posts
    3

    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
  •  





Click Here to Expand Forum to Full Width

Featured