在C#中如何调用一个外部应用程序呢 可以使用System.Diagnostics.Process.Start函数来启动。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如System.Diagnostics.Process.Start("IEXPLORE.exe", "http://www.csdn.net") using System.DiagnosticsProcess p = new Process();p.StartInfo.FileName = @"...........exe";p.StartInfo.p.StartInfo.Arguments = "......";p.p.StartInfo.CreateNoWindow = true;p.StartInfo.UseShellExecute = false;p.Start(); 嗯。感谢大家。我是这么写的:System.Diagnostics.ProcessStartInfo info= new System.Diagnostics.ProcessStartInfo(@"C:\Program Files\WinRAR\WinRAR.exe",@"a -r D:\test.rar D:\test");info.WindowStyle=System.Diagnostics.ProcessWindowStyle.Normal;System.Diagnostics.Process.Start(info);//接下来要执行的代码,比如要把test.rar上传到服务器上。可以调用winrar来压缩D:\test。但是接下来我想在真正压缩完以后,才执行下面的代码,但是我试了一下,System.Diagnostics.Process.Start(info);执行以后立即执行后面的代码,根本不会等test.rar压缩好,我该怎么办呢?另外,我想在压缩完以后,退出winrar,怎么做呢?请大家帮助一下! process.start("要调用的程序的路径") /* 功 能:通过C#程序调用 Windows 记事本程序 编辑一个* 名为 test.txt 的文本文件。** 在整个程序中 System.Diagnostics.Process.Start(Info) * 为主要语句。* 如果只是单独执行一个外部程序,可用一条如下代码即可:* System.Diagnostics.Process.Start(* "外部程序名","启动参数");*/using System;using System.Diagnostics;class test{static void Main(){//声明一个程序信息类System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();//设置外部程序名Info.FileName = "notepad.exe";//设置外部程序的启动参数(命令行参数)为test.txtInfo.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);}} 你用线程啊。1.运行程序,启动exe,2.启动另一个支线程,sleep当前主线程。3.完成工作。4.支线程结束,唤醒主线程。5.continue. 如果exe出错怎么办啊?难道要重起机器?能将出错显示在界面上,然后强行kill掉这个exe吗?请教中……。 直接使用System.Diagnostics.Process.Start(path+"filename") 用线程?代码怎么写呢,能给个例子吗比如就拿下面这段代码来说:System.Diagnostics.ProcessStartInfo info= new System.Diagnostics.ProcessStartInfo(@"C:\Program Files\WinRAR\WinRAR.exe",@"a -r D:\test.rar D:\test");info.WindowStyle=System.Diagnostics.ProcessWindowStyle.Normal;System.Diagnostics.Process.Start(info);如何改写为线程的呢 caiyajun512(小秀)?能详细说明一下吗 启动新进程,不能等待它完成,但你能管理它。浩方的平台可以启动war3,但war3关闭,平台不管理。平台踢人,你的war3就看不到在线的游戏了。用c#不如用c++,用API写。 诡异的datagridview红叉的问题 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象 windows usercontrol 线程阻塞问题!什么线程被我阻塞了? 被vs2008问题压倒,在线等大家的解决办法,感激不尽! C#疑惑 菜鸟发问.请求解决.详情见内 代码的合并 C# 编写的Windows serice程序. 安装时出现异常! 请教:在IE中输入的域名在C#中解析成地址?怎么编程? 求 Compuware DevPartner Studio 在硬盘上写六位数字全排列的txt文件的问题
System.Diagnostics.Process.Start("IEXPLORE.exe", "http://www.csdn.net")
p.StartInfo.FileName = @"...........exe";
p.StartInfo.p.StartInfo.Arguments = "......";
p.p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.Start();
System.Diagnostics.ProcessStartInfo info= new System.Diagnostics.ProcessStartInfo(@"C:\Program Files\WinRAR\WinRAR.exe",@"a -r D:\test.rar D:\test");
info.WindowStyle=System.Diagnostics.ProcessWindowStyle.Normal;
System.Diagnostics.Process.Start(info);
//接下来要执行的代码,比如要把test.rar上传到服务器上。可以调用winrar来压缩D:\test。但是接下来我想在真正压缩完以后,才执行下面的代码,但是我试了一下,System.Diagnostics.Process.Start(info);执行以后立即执行后面的代码,根本不会等test.rar压缩好,我该怎么办呢?另外,我想在压缩完以后,退出winrar,怎么做呢?请大家帮助一下!
* 名为 test.txt 的文本文件。
*
* 在整个程序中 System.Diagnostics.Process.Start(Info)
* 为主要语句。
* 如果只是单独执行一个外部程序,可用一条如下代码即可:
* System.Diagnostics.Process.Start(
* "外部程序名","启动参数");
*/
using System;
using System.Diagnostics;
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);
}
}
2.启动另一个支线程,sleep当前主线程。
3.完成工作。
4.支线程结束,唤醒主线程。
5.continue.
比如就拿下面这段代码来说:
System.Diagnostics.ProcessStartInfo info= new System.Diagnostics.ProcessStartInfo(@"C:\Program Files\WinRAR\WinRAR.exe",@"a -r D:\test.rar D:\test");
info.WindowStyle=System.Diagnostics.ProcessWindowStyle.Normal;
System.Diagnostics.Process.Start(info);如何改写为线程的呢
浩方的平台可以启动war3,但war3关闭,平台不管理。
平台踢人,你的war3就看不到在线的游戏了。
用c#不如用c++,用API写。