编程社区 » C#编程 » 在C#中怎样调用其他程序?

在C#中怎样调用其他程序?


hoking3210



 发表:

在C#中怎样调用其他程序?



如题:在C#中怎样调用其他程序?

如果有例子代码,请E-Mail to :

hoking3210@sina.com.cn

Thanks a lot


scocsdn
回复:

/*
* 编程语言: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);
}
}

jndk
回复:

using System.Diagnostics;

Process proCMS = new Process();
proCMS.StartInfo.FileName = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)+"\\弈天棋缘\\CCMS.exe";
proCMS.Start();

lxcc
回复:

using System.Diagnostics;
...
Process.Start("explorer.exe","http://www.csdn.net");

51106354
回复:

scocsdn(发菜)你写这么复杂做什么!
如果你要调用自己开发的程序,需要指定路径。
如果是windows自带的程序,一般情况下直接写程序的全名称就好了,例如打开计算器的代码
Process.Start("calc.exe");

wolfpk
回复:

大头说的对!别误人子弟阿

lucbesson
回复:

using System.Diagnostics;
...
Process.Start("explorer.exe")

xinbin1122
回复:

进程,请参见以下网址,有非常详细的介绍
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfSystemDiagnosticsProcessClassTopic.asp

Erase
回复:

System.Diagnostics.Process.Start(@"c:\shutdown.exe""-r");//调用程序的路径和名称,后面"-r"是参数是可选项,不过也可以用API来调用如下
[DllImport("shell32.dll", EntryPoint="ShellExecute")]
public static extern int ShellExecute (
int hwnd,
string lpOperation,
string lpFile,
string lpParameters,
string lpDirectory,
int nShowCmd
);

ShellExecute((int)this.hangdle),null,文件名,null,null,1)

dazhu2
回复:

1、用WIN API :ShellExecute()

2、Process.Start("explorer.exe","http://www.sina.com");

nga96
回复:

是可以这样的,呵,学习一下

hoking3210
回复:

在这里向没有得分的表示抱歉,向关注这个问题的表示感谢,特别感激的是得分的前辈,从你们的回复中,我学到了很多,谢谢!!


相关文章
如何从一个字符串中找到子串的个数?谢谢啦,100分在线等
C#2005自定义控件制作问题,急!
为什么这样简单的SQL都没法出结果.郁闷
请各位指点一下,vs2003C#中,for循环使用ExecuteNonQuery();
在线请教
2个DataTable的对比问题
关于枚举类和集合类的问题,高手指点下哦
如何在c# 中使用zlib.dll 库?
[求助]做8出这个题目
什么是键?
指定默认打印机时出错,请教各位高人?
mediaplayer控件在播放前等待时间过长的原因
热门文章
DataGridView如何保存编辑后的行到数据库?
简单问题:combobox 如何把选中的项的value值传到textbox中
如何读取Excel文件中有数据的单元格的行数? (注mysheet.UsedRange.Columns.Count 函数不是非常准确)
c#中,MSChart 如何引用操作!!
子窗体如何调用父窗体的函数和变量,
C#怎样访问Access数据库中的OLE对象类型-----急,请高手帮忙
请教 怎样用C#修改Word的页眉页脚
c# winform datagrieview 编辑添加列进添加的DataGridViewButtonColumn 找不到点击事件?那有?
web中当子窗口弹出后,如何使鼠标点击父窗口上无效?(非模式)
请问我在C#中怎么调用水晶报表,我的水晶报表是11的
如何获取Udp远程主机的信息
C#中如何判断标点符号

编程社区 2008 浙ICP备09013498号
© TinyBBS.cn
编程好站连接:codeproject sf.net codeplex