我在我的应用程序中使用 Shutdown.exe,因为它提供了一些不错的功能,例如它可以延迟关机并添加注释为什么需要关机。
应用程序规范可以关闭、重新启动、注销、休眠、混合关闭内容、添加评论、延迟关闭以及中止预定的关闭。
该应用程序很好而且很漂亮,我已经制作了一个安装文件。我现在尝试在本地安装并使用它。但是当我尝试点击休眠时,它只是关闭了......我点击了重新启动,它关闭了,和其他人一样。
我很确定我使用了正确的参数组合
这是我使用的参数
void PowerButtonsClick(object sender, RoutedEventArgs e)
{
string p = string.Empty;
if (sender == btnShutdown)
{
p += "-s";
}
else if (sender == btnRestart)
{
p += "-r";
}
else if (sender == btnSignoff)
{
p += "-l";
}
else if (sender == btnHibernate)
{
p += "-h";
}
else if (sender == btnHybridShutdown)
{
p += "-hybrid -s";
}
else if (sender == btnAbortShutdown)
{
p += "-a";
}
if (sender != btnAbortShutdown)
{
if (sender != btnSignoff || sender != btnHibernate)
{
if (isForced) { p += " -f"; }
double seconds = TimeSpan.FromTicks(timePicker.Value.Value.Subtract(DateTime.Now).Ticks).TotalSeconds;
p += " -t " + Convert.ToInt32(seconds);
if (hasComment)
{
p += string.Format(" -c \"{0}\"", borderComment_txComment.Text);
}
}
}
System.Diagnostics.Debug.WriteLine("param: " + p);
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo()
{
Arguments = p,
FileName = "shutdown.exe"
});
}
这是我 3 天前创建的应用程序。它适用于 Windows 8,现在,由于http://wall.jaysonragasa.net/wall/post/2012/06/17/Windows-8-System-Power-Shortcuts的问题,我关闭了下载链接 。 aspx
老实说,从 IDE 运行时一切正常。但是安装时 .. 我遇到了问题。我什至尝试使用 ILSpy 反汇编已部署的应用程序,它看起来不错,没有任何问题..
-- 更新 -- 只是为了更新我的代码
if (sender != btnSignoff || sender != btnHibernate) { ~~ }
一定是
if (sender != btnSignoff && sender != btnHibernate) { ~~ }
您要求的日志结果
param: -s -f -t 0
param: -l
param: -r -f -t 0
param: -h
param: -a
param: -hybrid -s -f -t 0
param: -s -f -t 0 -c "my comment"
param: -s -f -t 5 -c "my comment"
param: -s -f -t 12118 -c "my comment"
param: -s -t 12110 -c "my comment"
- 更新 -
我决定使用 API 调用,但我失去了非常重要的 Abort 功能。如果您可以分享如何中止计划关闭,即使使用 WMI 或 API,请分享。
问候所有人