C#程序调用外部程序

程序

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

usingSystem;

classtest
{
staticvoidMain()
{

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

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

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

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

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

try
{
//
//启动外部程序
//
Proc=System.Diagnostics.Process.Start(Info);
}
catch(System.ComponentModel.Win32Exceptione)
{
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);
}
}

时间: 2024-08-01 15:29:33

C#程序调用外部程序的相关文章

用c#调用外部程序时不让这个程序得到焦点

问题描述 用c#调用外部程序时不让这个程序得到焦点我想用c#调用外部程序,调用时不转移当前的焦点,也就是不丢失当前窗体的活动状态.因为要经常调用与结束,每次都转移焦点很烦人.我也试了API中的showwindow,但不行.将调用程序启动样式改为Minimized或Hidden也不行.若先设启动Minimized后面加上showwindow(p.MainWindowHandle,0)也不行.希望大家告诉我一个可行的方法,在调用时隐藏或最小化等都在后台.谢谢,谢谢! 解决方案 解决方案二:你让当前窗

系统调用-请大神推荐书籍:关于C++调用外部程序的书籍

问题描述 请大神推荐书籍:关于C++调用外部程序的书籍 现在我想用C++调用外部函数,应用程序,和系统程序 本人看的书不多,求有系统详细讲解这方面相关知识的书籍推荐,最好是基于Linux环境的,比如:调用系统安装的其它程序,我想系统地学习这方面的知识,求推荐书籍 请大神指教,谢谢啦 解决方案 本质上你说的其实是linux下常见的命令行.不同的linux发行版不同.比如rs系,一般通过yum安装,Ubuntu用apt-get.你可以看对应的Linux手册.<鸟哥的Linux私房菜>是一本比较经典

C#中利用process类调用外部程序以及执行dos命令

程序|执行 c#中的Process类可方便的调用外部程序,所以我们可以通过调用cmd.exe程序 加入参数 "/c " + 要执行的命令来执行一个dos命令(/c代表执行参数指定的命令后关闭cmd.exe /k参数则不关闭cmd.exe)  1         private string RunCmd(string command)     2         { 3             //實例一個Process類,啟動一個獨立進程 4             Process

VC调用外部程序接口

(1) system() 函数名: system 功 能: 发出一个DOS命令 用 法: int system (char *command); 备 注: system函数已经被收录在标准c库中,可以直接调用 返回值 =-1:出现错误 =0:调用成功但是没有出现子进程 >0:成功退出的子进程的id 样 例: system("D:\\game.exe"); system("mmc.exe \"c:\\windows\\system32\\gpedit.msc\&

Python subprocess子进程(程序调用)模块

前言 subpocess用于在父进程中创建子进程,如果你希望在Python程序中调用外部程序,如:Powershell.shell.cmd.bat.subprocess将会是一个非常好的选择. 软件环境 系统  Win 10 软件  Python 3.4.4 IPython 4.0.0 认识subprocess 还是那句话,最高效的方法不过看官方文档,传送门:这里 subprocess:The subprocess module allows you to spawn new processes

qt使用QProcess调用外部程序不成功

问题描述 qt使用QProcess调用外部程序不成功 想要完成一个点击按钮打开外部exe的功能,做了一个button然后转到信号与槽函数这这样的 两个QProcess调用方法都尝试过了,都是出现一个cmd框一闪就没了,这个程序是vs2012自己编写的一个程序,请问是哪错了 调用的函数 解决方案 这是两个调用函数 解决方案二: 本文转自:http://blog.csdn.net/WaderChan/archive/2009/05/19/4199913.aspx ? 本文通过QProcess,实现了

SqlServer调用外部程序实现数据同步

原文:SqlServer调用外部程序实现数据同步 首先创建两个数据库:SyncA是数据源,SyncB是对SyncA进行同步的数据库. 在SyncA和SyncB中分别创建Source表和Target表,实际业务中,两张表的结构大多不相同.     然后创建一个类库的项目:MySync(注意项目的版本,Sql08不支持的.net 4.0及更高版本) 下面是同步程序代码: using System; using System.Data; using System.Data.Sql; using Mic

Python Module_subprocess_子进程(程序调用)

目录 目录 前言 软件环境 认识subprocess Popen Constructor构造函数 Class Popen的参数 args 调用程序 调用Shell指令 stdinstdoutstderr 实时获取子程序输出 一次获取子程序的全部输出 将标准错误和标准输出一起输出 shell bufsize close_fds 其他参数含义 Popen成员函数 Popenpoll PopenwaittimeoutNone PopencommunicateinputNonetimeoutNone P

scrollarea-QT中调用外部程序,输出显示的问题

问题描述 QT中调用外部程序,输出显示的问题 Linux下QT调用外部程序F,F运行的时间比较长,在运行过程中不断有输出,用scrollarea+label(或者什么textedit)来显示程序F的输出,用的是readAll(),程序运行过程中的输出可以看到,但是当F程序运行完毕的时候,只有最后一小部分的输出能够在区域里看到.滚动条都没有或者滚动条的区域很小,前面一部分的输出根本看不到了.. 求教.. 部分代码: out=new QTextEdit(); ui->scrollArea->set