none
Subclassing and hooking the Microsoft Office 2000/2003/2007 File Open / Save Dialog RRS feed

  • Question

  • Hello everybody,

    I am in the middle of a project that involves hooking the file/open save and browse for folder dialog boxes of he currently installed windows applications and manipulate them by sending windows message codes.

    I am stuck with a problem in doing that.

    I have been able to hook into the file/open save dialog boxes and manipulate them , when the applications (Notepad,Wordpad,Adobe Acrobat etc.) uses the windows common control dialogs (i.e Common Dialog Box Library).The window class type of these type of dialogs is #32770(Dialog).

    But the microsoft office suite doesnot use this library to generate the file open / save dialogs. The class type for the

    MS Office dialogs is "bosa_sdm_Microsoft Office * " , where the " * " stands for Word,Excel,Access etc.

    The MSDN states that

    The following are messages that a hook procedure can send to an Explorer-style Open or Save As dialog box.

    CDM_GETFILEPATH
    CDM_GETFOLDERIDLIST
    CDM_GETFOLDERPATH
    CDM_GETSPEC
    CDM_HIDECONTROL
    CDM_SETCONTROLTEXT
    CDM_SETDEFEXT

    But unfortunately sending these messages using

    LRESULT SendMessage(
    HWND hWnd, // handle to destination window
    UINT Msg, // message
    WPARAM wParam, // first message parameter
    LPARAM lParam // second message parameter
    );

    won't do any good in case of Microsoft Office dialogs.

    The MSDN also doesnot state what messages I can send to the office dialogs from the hook function to manipulate them or retrieve retrieve information regarding the current folder/file path within the office dialog.

    So I am requesting everybody here to provide me the required guidance.

    I will be greatful if you people can provide anything useful.

    Thanks and regards,
    Wednesday, November 14, 2007 10:47 AM