Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > Avalon

Vista - How to intercept a Win32 Message in WPF App?

 
 
Old 06-19-2006   #1 (permalink)
Fabio Galuppo


 
 

How to intercept a Win32 Message in WPF App?

I´m trying to intercept a Win32 Message (WM_TIMECHANGE) in my WPF
Application. In Windows Forms this is a simple task, but I didn´t found how
can I do to receive a Win32 Message in WPF.

My question is: How can I do to intercept "natively" a Win32 Message in WPF
Application (via code and/or XAML) ? Is possible (it means without any kind
of interop or host form) ?

Thanks in advanced,

--
Fabio Galuppo
fabiogaluppo.blogspot.com

My System SpecsSystem Spec
Old 06-21-2006   #2 (permalink)
Nick Kramer [MSFT]


 
 

Re: How to intercept a Win32 Message in WPF App?

No, there's no "native" WPF API for that. Not every window message has a
WPF equivalent -- there's a lot of window messages that have nothing to do
with presentation and UI. Often you can use Winforms's
System.Windows.Forms.SystemInformation class, although I don't remember if
wm_timechange is part of SystemInformation.

Of course, as you suggested, you can also use wndprocs and/or
HwndSource.AddHook.

--
-Nick Kramer [MSFT]
http://blogs.msdn.com/nickkramer

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

"Fabio Galuppo" <FabioGaluppo@discussions.microsoft.com> wrote in message
news:7104AA85-36B4-49F8-BBF5-8C3C19E9D765@microsoft.com...
> I´m trying to intercept a Win32 Message (WM_TIMECHANGE) in my WPF
> Application. In Windows Forms this is a simple task, but I didn´t found
> how
> can I do to receive a Win32 Message in WPF.
>
> My question is: How can I do to intercept "natively" a Win32 Message in
> WPF
> Application (via code and/or XAML) ? Is possible (it means without any
> kind
> of interop or host form) ?
>
> Thanks in advanced,
>
> --
> Fabio Galuppo
> fabiogaluppo.blogspot.com



My System SpecsSystem Spec
Old 06-22-2006   #3 (permalink)
Fabio Galuppo


 
 

Re: How to intercept a Win32 Message in WPF App?

Hello Nick,

Thanks for this information!

However, I hope in the "future" releases of WPF somekind of support to
receive these system messages. We have a lot of system messages that Windows
OS notifies an application (WM_TIMECHANGE, WM_POWER, WM_DEVICECHANGE to name
a few) and I don´t see the need to use classes from System.Windows.Interop to
receive a system message.

I understand this kind of feature must be Windows only (perhaps not
supported in WPF/E). However, suppose that I´m writing a "Battery Control UI"
app, I can do these only with Windows Forms (with MDX) or Win32 (with
DirectX), but I can´t with WPF without Interop AND hosting a control .

Thanks again,

--
Fabio Galuppo
fabiogaluppo.blogspot.com


"Nick Kramer [MSFT]" wrote:

> No, there's no "native" WPF API for that. Not every window message has a
> WPF equivalent -- there's a lot of window messages that have nothing to do
> with presentation and UI. Often you can use Winforms's
> System.Windows.Forms.SystemInformation class, although I don't remember if
> wm_timechange is part of SystemInformation.
>
> Of course, as you suggested, you can also use wndprocs and/or
> HwndSource.AddHook.
>
> --
> -Nick Kramer [MSFT]
> http://blogs.msdn.com/nickkramer
>
> This posting is provided "AS IS" with no warranties, and confers no rights.
> Use of included script samples are subject to the terms specified at
> http://www.microsoft.com/info/cpyright.htm
>
> "Fabio Galuppo" <FabioGaluppo@discussions.microsoft.com> wrote in message
> news:7104AA85-36B4-49F8-BBF5-8C3C19E9D765@microsoft.com...
> > I´m trying to intercept a Win32 Message (WM_TIMECHANGE) in my WPF
> > Application. In Windows Forms this is a simple task, but I didn´t found
> > how
> > can I do to receive a Win32 Message in WPF.
> >
> > My question is: How can I do to intercept "natively" a Win32 Message in
> > WPF
> > Application (via code and/or XAML) ? Is possible (it means without any
> > kind
> > of interop or host form) ?
> >
> > Thanks in advanced,
> >
> > --
> > Fabio Galuppo
> > fabiogaluppo.blogspot.com

>
>
>

My System SpecsSystem Spec
Old 11-05-2007   #4 (permalink)
Jen


 
 

Re: How to intercept a Win32 Message in WPF App?

How did you resolve the problem as WPF uses <Window> element instead of Form?
Available articles out there only show how to intercept using WinForm. I have
the same problem and am stuck. Appreciate that you will share your experience
on this issue.

"Fabio Galuppo" wrote:
Quote:

> Hello Nick,
>
> Thanks for this information!
>
> However, I hope in the "future" releases of WPF somekind of support to
> receive these system messages. We have a lot of system messages that Windows
> OS notifies an application (WM_TIMECHANGE, WM_POWER, WM_DEVICECHANGE to name
> a few) and I don´t see the need to use classes from System.Windows.Interop to
> receive a system message.
>
> I understand this kind of feature must be Windows only (perhaps not
> supported in WPF/E). However, suppose that I´m writing a "Battery Control UI"
> app, I can do these only with Windows Forms (with MDX) or Win32 (with
> DirectX), but I can´t with WPF without Interop AND hosting a control .
>
> Thanks again,
>
> --
> Fabio Galuppo
> fabiogaluppo.blogspot.com
>
>
> "Nick Kramer [MSFT]" wrote:
>
Quote:

> > No, there's no "native" WPF API for that. Not every window message has a
> > WPF equivalent -- there's a lot of window messages that have nothing to do
> > with presentation and UI. Often you can use Winforms's
> > System.Windows.Forms.SystemInformation class, although I don't remember if
> > wm_timechange is part of SystemInformation.
> >
> > Of course, as you suggested, you can also use wndprocs and/or
> > HwndSource.AddHook.
> >
> > --
> > -Nick Kramer [MSFT]
> > http://blogs.msdn.com/nickkramer
> >
> > This posting is provided "AS IS" with no warranties, and confers no rights.
> > Use of included script samples are subject to the terms specified at
> > http://www.microsoft.com/info/cpyright.htm
> >
> > "Fabio Galuppo" <FabioGaluppo@xxxxxx> wrote in message
> > news:7104AA85-36B4-49F8-BBF5-8C3C19E9D765@xxxxxx
Quote:

> > > I´m trying to intercept a Win32 Message (WM_TIMECHANGE) in my WPF
> > > Application. In Windows Forms this is a simple task, but I didn´t found
> > > how
> > > can I do to receive a Win32 Message in WPF.
> > >
> > > My question is: How can I do to intercept "natively" a Win32 Message in
> > > WPF
> > > Application (via code and/or XAML) ? Is possible (it means without any
> > > kind
> > > of interop or host form) ?
> > >
> > > Thanks in advanced,
> > >
> > > --
> > > Fabio Galuppo
> > > fabiogaluppo.blogspot.com
> >
> >
> >
My System SpecsSystem Spec
 

Thread Tools


Similar Threads
Thread Forum
Intercept print job Info Vista General
is not a valid Win32 application message, while clicking on device Vista hardware & devices
Pictures will not open. Message: not a valid win32 application Vista music pictures video
keep getting 'not a valid WIN32 App error message Vista General
Trying to install Directx, keep getting Win32 Cabinet Error message Vista installation & setup


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46