[已解决问题] C#程序调用外部程序--
提问时间: 2008-05-15 14:23
悬赏分:15 浏览:232 次

我想单击一个按钮然后 自己弹出来一个记事本.用到C#程序调用外部程序.老师说从网上搜一下,然后我搜到的是

/*
*  编程语言:Visual  Studio  .NET  C#  (Beta  2)
*  作        者:迪泊威
*  功        能:通过C#程序调用  Windows  记事本程序  编辑一个
*  名为  test.txt  的文本文件。
*
*  在整个程序中  System.Diagnostics.Process.Start(Info) 
*  为主要语句。
*  如果只是单独执行一个外部程序,可用一条如下代码即可:
*  System.Diagnostics.Process.Start(
*  "外部程序名","启动参数");
*/

using  System;

class  test
{
static  void  Main()
{

//声明一个程序信息类
System.Diagnostics.ProcessStartInfo  Info  =  new  System.Diagnostics.ProcessStartInfo();

//设置外部程序名
Info.FileName  =  "notepad.exe";

//设置外部程序的启动参数(命令行参数)为test.txt
Info.Arguments  =  "test.txt";

//设置外部程序工作目录为  C:\
Info.WorkingDirectory  =  "C:\\";

//声明一个程序类
System.Diagnostics.Process  Proc  ;

try
{
//
//启动外部程序
//
Proc  =  System.Diagnostics.Process.Start(Info);
}
catch(System.ComponentModel.Win32Exception  e)
{
Console.WriteLine("系统找不到指定的程序文件。\r{0}",  e);
return;
}

//打印出外部程序的开始执行时间
Console.WriteLine("外部程序的开始执行时间:{0}",  Proc.StartTime);

//等待3秒钟
Proc.WaitForExit(3000);

//如果这个外部程序没有结束运行则对其强行终止
if(Proc.HasExited  ==  false)
{
Console.WriteLine("由主程序强行终止外部程序的运行!");
Proc.Kill();
}
else
{
Console.WriteLine("由外部程序正常退出!");
}
Console.WriteLine("外部程序的结束运行时间:{0}",  Proc.ExitTime);
Console.WriteLine("外部程序在结束运行时的返回值:{0}",  Proc.ExitCode);
}
}

 

我把这段代码粘到按钮的 Click 事件中!然后运行报错!F:\Working\WindowsApplication1\frmMain.cs(137,15): 错误 CS1513: 应输入 }
F:\Working\WindowsApplication1\frmMain.cs(199,1): 错误 CS1022: 应输入类型、命名空间定义或文件尾

 

我是初学者,好多地方还不是太懂.万分感谢各位朋友的帮助!!


提问者:junli2201 - 初学一级

问题补充:请问 我该怎么写这段代码呢? 就是单击一个按钮,然后自己弹出一个记事本?
我要是单击一下,弹出一个计算器.代码该怎么写呢?


最佳答案
在按钮的单击事件中写下这句代码就足够了.
       System.Diagnostics.Process.Start("notepad.exe");
2008/5/15 14:47:59 回答者:侯垒


提问者对于答案的评价:万分感谢,多谢您的帮助!
其它回答(3)
ProcessStartInfo startInfo = new ProcessStartInfo("Notepad.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Normal;
            startInfo.Arguments = AppUtil.PatchPath + "/Log/Log.txt";
            try
            {
                Process.Start(startInfo);
            }
            catch
            {
                return;
            }

以上路径换成自己的路径 即可
1个月前   回答者:李.net - 小虾三级
看不懂你的错误信息,简单比较了下,花括号好象是匹配的。
1个月前   回答者:笨笨蜗牛 - 菜鸟二级
计算器的是System.Diagnostics.Process.Start("calc.exe"); 
1个月前   回答者:wingoo - 小虾三级
评论
2周前   神龙腾翔 :
很好。学习了。。
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除