David,
It's just an override on your main form:
protected override void WndProc(ref Message m)
{
// Perform pre-processing here.
// Call the base.
base.WndProc(ref m);
// Post-processing here.
}
What you do for the pre or post processing is up to you.
--
- Nicholas Paldino [.NET/C# MVP]
-
mvp@spam.guard.caspershouse.com
"david.kao@opco.com" <davidkaoopcocom@discussions.microsoft.com> wrote in
message news:DF11CB12-9C19-46FE-BF92-C36EB9F07A62@microsoft.com...[color=blue]
> Hi Nicholas:
>
> I have a similar issue that Claire has. But I have no idea how to
> implement
> WndProc.
>
> Can you show me how to implement WndProc ?
>
> Thanks
>
> David Kao
>
> "Nicholas Paldino [.NET/C# MVP]" wrote:
>[color=green]
>> Claire,
>>
>> I don't think that is the case. When windows is shutting down, if
>> your
>> app cancels the request to shut down, then it will halt the shutdown.
>>
>> I think that you should override the WndProc method of your form, and
>> then handle the WM_QUERYENDSESSION and WM_ENDSESSION messages yourself,
>> indicating that it is ok to shut down when you get them. I think that
>> the
>> cancel request from your Closing event handler is being channeled back in
>> response to these messages.
>>
>> Hope this helps.
>>
>> --
>> - Nicholas Paldino [.NET/C# MVP]
>> -
mvp@spam.guard.caspershouse.com
>>
>> "Claire" <asdfkjasl@ntlworld.com> wrote in message
>> news:%23VpjArGrEHA.3748@TK2MSFTNGP09.phx.gbl...[color=darkred]
>> > Running XP pro, SP2. Visual studio .NET 2003. App written in C#
>> >
>> > I have written an application that hides itself when run and shows a
>> > notification icon in the system tray.
>> > If the main form is visible/restored to the desktop, and I tell windows
>> > to
>> > restart, windows shuts down fine.
>> > If the main form is minimized to the tray and I tell windows to
>> > restart,
>> > other desktop apps close down fine but my program's icon remains sat in
>> > the
>> > system tray, windows doesn't close down and there's no error messages.
>> > In normal use, I only allow the app to close down from a right button
>> > mouse
>> > activated menu when the app sits in the task bar.
>> >
>> > The code for the Closing event is as follows. The menu "close
>> > application"
>> > click changes the DialogResult from None to Cancel.
>> > I tested and found that the Closing event is being called in both cases
>> > and
>> > ,afaik, the result should be ignored anyway as Windows OS is being
>> > closed
>> > down.
>> > private void frmOptions_Closing(object sender,
>> > System.ComponentModel.CancelEventArgs e)
>> >
>> > {
>> >
>> > if (DialogResult == DialogResult.None)
>> >
>> > {
>> >
>> > e.Cancel = true;
>> >
>> > WindowState = FormWindowState.Minimized;
>> >
>> > }
>> >
>> >
>> > }
>> >[/color]
>>
>>
>>[/color][/color]