C# Winform中编写自动关机程序无效果

kevin_zwy 2013-09-28 08:52:51
using System.Diagnostics; //导包

Process p = new Process();//实例化一个独立进程
p.StartInfo.FileName = "cmd.exe";//进程打开的文件为Cmd
p.StartInfo.UseShellExecute = false;//是否启动系统外壳选否
p.StartInfo.RedirectStandardInput = true;//这是是否从StandardInput输入
p.StartInfo.CreateNoWindow = true;//这里是启动程序是否显示窗体
p.Start();//启动
p.StandardInput.WriteLine("shutdown -s -t 10");//运行关机命令shutdown (-s)是关机 (-t)是延迟的时间 这里用秒计算 10就是10秒后关机
p.StandardInput.WriteLine("exit");//退出cmd

以上代码用VS新建个控制台应用程序能执行自动关机 但是新建个窗体 把以上代码放字loading事件里面 则运行无效果? 个人判断控制台应用程序是dos下运行的 命令可以直接运行 但窗体不是 需要先启动dos窗体 但是不知道怎么启动 求?
...全文
303 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MR00009 2013-09-29
  • 打赏
  • 举报
回复
System.Diagnostics.Process.Start("shutdown","-s -t 10"); 不用cmd.exe,直接调用shutdown就可以.
人生导师 2013-09-28
  • 打赏
  • 举报
回复
设个断点看看是否进了Load方法就明白了啊
熙风 2013-09-28
  • 打赏
  • 举报
回复
hudsonhuang 2013-09-28
  • 打赏
  • 举报
回复
右键->run as administrator
kevin_zwy 2013-09-28
  • 打赏
  • 举报
回复
上面的代码你直接在窗体中可以运行? 我换了2台电脑都不行 无效果 真是郁闷 哪里出问题了呢?
全栈极简 2013-09-28
  • 打赏
  • 举报
回复
你检查一下是否有类似360等软件拦截了你的“非法操作”。
全栈极简 2013-09-28
  • 打赏
  • 举报
回复
亲测有效。测试环境win8 64位,winform程序,button按钮点击关机。
kevin_zwy 2013-09-28
  • 打赏
  • 举报
回复
但是以上代码在窗体load事件中运行无效果 求解释
  • 打赏
  • 举报
回复
不用调用 cmd.exe。
tcmakebest 2013-09-28
  • 打赏
  • 举报
回复
楼主用的是 win7 还是别的,不同的系统效果会不同。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧