I am writing a MPEG playback app that requires to set the
properties inside the MPEG Audio Decoder filter. This
filter has different properties such as Channels (First,
Second and Both). Please help me if you show me any
guideline to change these values. Thanks in advance.
John
1. You can create the individual IPropertyPage you need with
CoCreateInstance() (you can discover its CLSID looking into the array
returned by ISpecifyPropertyPages::GetPages() and matching it with the
description in the registry).
2. Initialize it passing a dummy IPropertyPageSite to
IPropertyPage::SetPageSite() and a pointer to the IBaseFilter in
SetObjects().
3. Activate() it with a hidden HWND (or any other one, use a 1x1 RECT) but
don't Show() it.
4. Now you can use FindWindowEx() to walk the windows' hierarchy to find the
IPropertyPage panel and its components which state you need to change, so
that you can SendMessage() to them to set their state and then SendMessage()
the panel to notify it of the changes.
5. In the end, Apply() and release everything.
This works fine with the filter I tried.
"Mocha" <joh...@hotmail.com> wrote in message
news:1872f01c22fb9$21dc82f0$36ef2ecf@tkmsftngxa12...
I am very appreciated for your detail instructions to my
question. I will try to implement your method. If you
don't mind to do me another big favor, would you please
send me your code example to help guide me in the right
direction? Thank you again.
John
>.
>
"Mocha" <joh...@hotmail.com> wrote in message
news:17d6d01c23094$98c92f90$a5e62ecf@tkmsftngxa07...
Thank you very much for your code example.
John