C#调用EXE文件
我需要在一个C#程序里调用一个别人写的EXE文件这个EXE文件是把文件夹AAA下的文件拷贝到终端上的我把这个EXE文件放在AAA文件夹里了如何写路径如何调用?请教高手二楼...
我需要在一个C#程序里调用一个别人写的EXE文件
这个EXE文件是把文件夹AAA下的文件拷贝到终端上的
我把这个EXE文件放在AAA文件夹里了
如何写路径
如何调用?
请教高手
二楼能不能说的具体些
我是新手
刚接触C#
谢谢了 展开
这个EXE文件是把文件夹AAA下的文件拷贝到终端上的
我把这个EXE文件放在AAA文件夹里了
如何写路径
如何调用?
请教高手
二楼能不能说的具体些
我是新手
刚接触C#
谢谢了 展开
展开全部
using System.Diagnostics;
如果是dos
Process.Start("cmd.exe");
如果是其他文件
Process.Start("绝对路径+文件名.exe");
------------------------------------
如滑袭纳何在c#中调用外部dos程序?
使用Process对象:
System.Diagnostics.Process p=new System.Diagnostics.Process();
p.StartInfo.FileName="arj.exe" ;//需要启动的程序名
p.StartInfo.Arguments="-x sourceFile.Arj c:\temp";//启动参数
p.Start();//启动
if(p.HasExisted)//信没判断是否运行结束
p.kill();
-------------------------------------------------------------------------------------------------------------------------------------
/// <summary>
/// 启动其他的应用程序
/// </summary>
/// <param name="file">应用程序名称</param>
/// <param name="workdirectory">应用程序工作目录</param>
/// <param name="args">命令行参数</param>
/// <param name="style">窗口风格</param>
public static bool StartProcess(string file,string workdirectory,string args,ProcessWindowStyle style)
{
try
{
Process myprocess = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo(file,args);
startInfo.WindowStyle = style;
startInfo.WorkingDirectory = workdirectory;
myprocess.StartInfo = startInfo;
myprocess.StartInfo.UseShellExecute = false;
myprocess.Start();
return true;
}
catch(Exception e0)
{
MessageBox.Show("启动应用程序时出错!原因:" + e0.Message);
}
return false;
}
string parms = "" + GlobalObject.GetInstance().UserID + " " + GlobalObject.GetInstance().UserPassword;
if (PublicMethods.StartProcess(Application.StartupPath + @"\uptool\uptool.exe",Application.StartupPath + "禅旁\\UpTool",parms,ProcessWindowStyle.Normal))
{
Environment.Exit(0);
}
----------------------------------------------------------------------------------------------------------------------
Process.Start("IExplore.exe", "http://community.csdn.net/Expert/topic/4021/4021327.xml?temp=.9493524");
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo( );
startInfo.FileName = "执行EXE的文件名";
startInfo.Arguments = "参数数组";
System.Diagnostics.Process.Start( startInfo );
----------------------------------------------------------------------------------------------------------------------------
1.有好多时,我们需要调用外部的EXE程序,并且要等它运行完毕,我们才可以继续下面的动作,那我们怎样去实现了,请看以下代码.
'怎样等待外部程序运行完毕.
'从系统资料夹读入文件
Dim sysFolder As String = _
Environment.GetFoldERPath(Environment.SpecialFolder.System)
'创建一个新的进程结构
Dim pInfo As New ProcessStartInfo()
'设置其成员FileName为系统资料的Eula.txt
pInfo.FileName = sysFolder & "\eula.txt"
'运行该文件
Dim p As Process = Process.Start(pInfo)
'等待程序装载完成
p.WaitForInputIdle()
'等待进行程退出
p.WaitForExit()
'继续执行下面的代码
MessageBox.Show("继续执行代码")
2.我们想在5秒钟后,强行关闭它.而不是需要我手工关闭.
'设置退出时间
Dim timeOut As Integer = 5000
Dim sysFolder As String = _
Environment.GetFolderPath(Environment.SpecialFolder.System)
Dim pInfo As New ProcessStartInfo()
pInfo.FileName = sysFolder & "\eula.txt"
Dim p As Process = Process.Start(pInfo)
p.WaitForInputIdle()
p.WaitForExit(timeOut)
'检查是否在超时前已关闭了.
If p.HasExited = False Then
'进行程还在运行
'看进程有没有回应
If p.Responding Then
p.CloseMainWindow() '关闭窗口
Else
p.Kill() '强行中断
End If
End If
MessageBox.Show("继续执行代码")
复杂?! 他要用的代码就在里面,如果你自己看了,绝对能写出来自己。你提问题只是想要代码还是想学习啊?
如果是dos
Process.Start("cmd.exe");
如果是其他文件
Process.Start("绝对路径+文件名.exe");
------------------------------------
如滑袭纳何在c#中调用外部dos程序?
使用Process对象:
System.Diagnostics.Process p=new System.Diagnostics.Process();
p.StartInfo.FileName="arj.exe" ;//需要启动的程序名
p.StartInfo.Arguments="-x sourceFile.Arj c:\temp";//启动参数
p.Start();//启动
if(p.HasExisted)//信没判断是否运行结束
p.kill();
-------------------------------------------------------------------------------------------------------------------------------------
/// <summary>
/// 启动其他的应用程序
/// </summary>
/// <param name="file">应用程序名称</param>
/// <param name="workdirectory">应用程序工作目录</param>
/// <param name="args">命令行参数</param>
/// <param name="style">窗口风格</param>
public static bool StartProcess(string file,string workdirectory,string args,ProcessWindowStyle style)
{
try
{
Process myprocess = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo(file,args);
startInfo.WindowStyle = style;
startInfo.WorkingDirectory = workdirectory;
myprocess.StartInfo = startInfo;
myprocess.StartInfo.UseShellExecute = false;
myprocess.Start();
return true;
}
catch(Exception e0)
{
MessageBox.Show("启动应用程序时出错!原因:" + e0.Message);
}
return false;
}
string parms = "" + GlobalObject.GetInstance().UserID + " " + GlobalObject.GetInstance().UserPassword;
if (PublicMethods.StartProcess(Application.StartupPath + @"\uptool\uptool.exe",Application.StartupPath + "禅旁\\UpTool",parms,ProcessWindowStyle.Normal))
{
Environment.Exit(0);
}
----------------------------------------------------------------------------------------------------------------------
Process.Start("IExplore.exe", "http://community.csdn.net/Expert/topic/4021/4021327.xml?temp=.9493524");
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo( );
startInfo.FileName = "执行EXE的文件名";
startInfo.Arguments = "参数数组";
System.Diagnostics.Process.Start( startInfo );
----------------------------------------------------------------------------------------------------------------------------
1.有好多时,我们需要调用外部的EXE程序,并且要等它运行完毕,我们才可以继续下面的动作,那我们怎样去实现了,请看以下代码.
'怎样等待外部程序运行完毕.
'从系统资料夹读入文件
Dim sysFolder As String = _
Environment.GetFoldERPath(Environment.SpecialFolder.System)
'创建一个新的进程结构
Dim pInfo As New ProcessStartInfo()
'设置其成员FileName为系统资料的Eula.txt
pInfo.FileName = sysFolder & "\eula.txt"
'运行该文件
Dim p As Process = Process.Start(pInfo)
'等待程序装载完成
p.WaitForInputIdle()
'等待进行程退出
p.WaitForExit()
'继续执行下面的代码
MessageBox.Show("继续执行代码")
2.我们想在5秒钟后,强行关闭它.而不是需要我手工关闭.
'设置退出时间
Dim timeOut As Integer = 5000
Dim sysFolder As String = _
Environment.GetFolderPath(Environment.SpecialFolder.System)
Dim pInfo As New ProcessStartInfo()
pInfo.FileName = sysFolder & "\eula.txt"
Dim p As Process = Process.Start(pInfo)
p.WaitForInputIdle()
p.WaitForExit(timeOut)
'检查是否在超时前已关闭了.
If p.HasExited = False Then
'进行程还在运行
'看进程有没有回应
If p.Responding Then
p.CloseMainWindow() '关闭窗口
Else
p.Kill() '强行中断
End If
End If
MessageBox.Show("继续执行代码")
复杂?! 他要用的代码就在里面,如果你自己看了,绝对能写出来自己。你提问题只是想要代码还是想学习啊?
展开全部
System.Diagnostics.Process.Start("calc.exe"缓友);
这样就则隐能启动了,当然后你也可以来容错扰盯槐处理
这样就则隐能启动了,当然后你也可以来容错扰盯槐处理
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能这个exe文件调用图片的方式是读相对路径,而不是作为资源文件者携。你先看原exe文件夹下有没有这个图片文件,很多程序隐迅都灶嫌此把图片放进一个单独的文件夹,例如Image或者Picture、Icos等。如果能找到,那就把这个文件夹或者文件复制到你的C#程序下的exe文件的同等相对目录下,及原exe文件相对图片的位置与现在的位置保持不变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写的太复杂了
第一步:建立对象
第2步:启用多线程调用!
第一步:建立对象
第2步:启用多线程调用!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询