![]() |
| 编程社区 » C#编程 » 在C#中怎样调用其他程序? |
在C#中怎样调用其他程序? |
hoking3210 |
发表:
|
/*
* 编程语言: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);
}
}
using System.Diagnostics;
Process proCMS = new Process();
proCMS.StartInfo.FileName = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)+"\\弈天棋缘\\CCMS.exe";
proCMS.Start();
using System.Diagnostics;
...
Process.Start("explorer.exe","http://www.csdn.net");
scocsdn(发菜)你写这么复杂做什么!
如果你要调用自己开发的程序,需要指定路径。
如果是windows自带的程序,一般情况下直接写程序的全名称就好了,例如打开计算器的代码
Process.Start("calc.exe");
大头说的对!别误人子弟阿
using System.Diagnostics;
...
Process.Start("explorer.exe")
进程,请参见以下网址,有非常详细的介绍
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfSystemDiagnosticsProcessClassTopic.asp
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)
1、用WIN API :ShellExecute()
2、Process.Start("explorer.exe","http://www.sina.com");
是可以这样的,呵,学习一下
在这里向没有得分的表示抱歉,向关注这个问题的表示感谢,特别感激的是得分的前辈,从你们的回复中,我学到了很多,谢谢!!
| 编程社区 2008 浙ICP备09013498号 |
| © TinyBBS.cn |
| 编程好站连接:codeproject sf.net codeplex |