Try to design it like a service and use this code:
...
using System.Management;
...
void shutdown()
{
ManagementBaseObject mboShutdown = null;
ManagementClass mcWin32 = new
ManagementClass("Win32_OperatingSystem");
mcWin32.Get();
// You can't shutdown without security privileges
mcWin32.Scope.Options.EnablePrivileges = true;
ManagementBaseObject mboShutdownParams =
mcWin32.GetMethodParameters("Win32Shutdown");
// Flag 1 means we want to shut down the system. Use "2"
to reboot.
mboShutdownParams["Flags"] = "1";
mboShutdownParams["Reserved"] = "0";
foreach (ManagementObject manObj in
mcWin32.GetInstances())
{
mboShutdown = manObj.InvokeMethod("Win32Shutdown",
mboShutdownParams,
null);
}
}
Cheers!
Benj
On Apr 22, 1:44 pm, venkat ramana <[email protected]> wrote:
> Check the link below
>
> http://www.codeproject.com/KB/cs/uim.aspx
>
> --
> Venkat.
> ph - 9810447656
>
> On Wed, Apr 21, 2010 at 8:04 PM, Stephen Russell <[email protected]>wrote:
>
> > On Wed, Apr 21, 2010 at 9:10 AM, B☼gus Excepti☼n <[email protected]>
> > wrote:
> > > Interested in your thoughts on this:
>
> > > Given:
>
> > > -svr 2008
> > > -Single user, almost always Administrator
>
> > > Need:
>
> > > -detect x minutes inactivity, then..
> > > -shutdown the server
>
> > > I need this program to run as a service, as using the scheduler is too
> > > easy to defeat.
> > ---------------------------------
>
> > Think you are crazy. Why shut down instead of log off?
>
> > --
> > Stephen Russell
>
> > Sr. Production Systems Programmer
> > CIMSgts
>
> > 901.246-0159 cell
>
> > --
> > Subscription settings:
> >http://groups.google.com/group/dotnetdevelopment/subscribe?hl=en