c#windows服务问题 高手来啊 急死了!

本人用windows服务来调用一个外部程序开注销或者关闭计算机,但是程序是执行下去了,就是不能正确执行,也不报错,电脑也不注销或者关闭,调用其他程序可以成功,就是执行对电... 本人用windows服务来调用一个外部程序开注销或者关闭计算机,但是程序是执行下去了,就是不能正确执行,也不报错,电脑也不注销或者关闭,调用其他程序可以成功,就是执行对电脑关闭或者注销,重起的操作的时候不能成功执行 展开
 我来答
h1398123
2011-06-04 · TA获得超过216个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:69.4万
展开全部
三楼正解,一个方法就够了!
public void myclose()//关机
{
System.Diagnostics.Process myps = new System.Diagnostics.Process();//新建一个process
myps.StartInfo.FileName = "cmd.exe";//启动cmd命令
myps.StartInfo.UseShellExecute = false;//是否使用系统外壳程序启动进程
myps.StartInfo.RedirectStandardInput = true;//是否从流读取
myps.StartInfo.RedirectStandardOutput = true;//是否写入流
myps.StartInfo.RedirectStandardError = true;//是否将错误信息写入流
myps.StartInfo.CreateNoWindow = true;//是否在新窗口启动程序
myps.Start();//启动进程
myps.StandardInput.WriteLine("shutdown -s -t 0");//写入dos命令
}

public void Restart()//重启
{
System.Diagnostics.Process myps = new System.Diagnostics.Process();//新建一个process
myps.StartInfo.FileName = "cmd.exe";//启动cmd命令
myps.StartInfo.UseShellExecute = false;//是否使用系统外壳程序启动进程
myps.StartInfo.RedirectStandardInput = true;//是否从流读取
myps.StartInfo.RedirectStandardOutput = true;//是否写入流
myps.StartInfo.RedirectStandardError = true;//是否将错误信息写入流
myps.StartInfo.CreateNoWindow = true;//是否在新窗口启动程序
myps.Start();//启动进程
myps.StandardInput.WriteLine("shutdown -r -t 0");//写入dos命令
}
追问
用dos命令还是不行的!我就是直接写个dos脚本,然后用服务调用他 还是不能执行!不行你可以试试的
追答
你用的是win7还是XP,XP上这本就是我的调试成功的代码.win7还没试过
百度网友b357d1f
2011-06-04 · TA获得超过1642个赞
知道小有建树答主
回答量:1022
采纳率:0%
帮助的人:760万
展开全部
可以调用CMD的关机命令.
Process myProcess = new Process(); //定义process对象实例
//启动cmd命令
myProcess.StartInfo.FileName = "cmd.exe";
//设置Process对象的Start()方法的属性
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardInput = true;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.RedirectStandardError = true;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start(); //启动进程
myProcess.StandardInput.WriteLine("shutdown -s -t 0"); //执行关机命令
追问
用dos命令还是不行的!我就是直接写个dos脚本,然后用服务调用他 还是不能执行!不行你可以试试的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lcg1986
2011-06-04 · TA获得超过3374个赞
知道大有可为答主
回答量:1858
采纳率:90%
帮助的人:1590万
展开全部
win 98 以上系统需要提权... 进程权限不够.
追问
能具体点吗?怎么才能让他有权限!纠结了一天,头都暴了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙and迪
2011-06-04 · TA获得超过159个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:133万
展开全部
建议用dos命令,要是不想用dos命令写脚本的话,推荐用鸽子,具体怎么用自己上网查,给你指的这两个方向绝对可以解决问题。
追问
用dos命令还是不行的!我就是直接写个dos脚本,然后用服务调用他 还是不能执行!不行你可以试试的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式