Am Montag, 1. März 2010 03:16:41 schrieb Tim Roberts:
> You wrote:
> >i am developing a windows service using python-win32.
> >Now I am searching for a possibility to get a notification when a user is
> >trying to shutdown the system.
> >In certain cases I need to cancel this shutdown,
> >Does anyone knows how this could be done?
> 
> This is trickier than you might think.  Many shutdowns cannot be blocked. 
> For example, if battery power is critically low, you're going down, like
> it or not.  Further, if someone has their laptop set to hibernate when the
> close the lid, they're going to be really pissed off if your application
> blocks that and the battery expires.
> 
> On Vista and beyond, you can use ShutdownBlockReasonCreate to say "the
> system should not be shutdown for a while".
> 
> >Is it possible to catch system level events in python like in other
> 
> >programming languages as for example C#:
> Anything that can be done in C# can be done in Python.  Do you have a C#
> example you want to copy?
> 
> >http://mail.python.org/pipermail/python-win32/2008-January/006645.html
> 
> Is this code not sufficient for your needs?
Thanks for your answer!

The code is good to get a notification when the system shuts down.
But I can not see a possibility to cancel the shutdown.

I think what i need is something like the code below, but I don't know how to 
implement this in python:

http://blogs.techrepublic.com.com/howdoi/?p=135

SystemEvents.SessionEnding += new 
SessionEndingEventHandler(SystemEvents_SessionEnding);

void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
        e.Cancel();
}

The e.Cancel() should cancel the shutdown.
My next problem is to tell the difference between a shutdown (poweroff) and a 
reboot.

What I want to do is:
* catch a shutdown
* decide if it is a power off or reboot
* do some tasks
* shut down or restart the machine
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to