c# 怎么 启动指定 目录下的 EXE 程序(这个程序是JAVA 的控制台程序)

我先是调用WINAPI实现的[DllImport("kernel32.dll")]publicstaticexternintWinExec(stringexeName,i... 我先是调用WIN API
实现的
[DllImport("kernel32.dll")]
public static extern int WinExec(string exeName, int operType);
private void open_Click(object sender, EventArgs e)
{
WinExec("dbc/hotss.exe", 1);


但出现一个问题 只能将这个EXE程序 放到C# 程序集 跟目录下 如:
WinExec("hotss.exe", 1); 这样才能正常启动

如果变成 其它目录 如: WinExec("其它目录/hotss.exe", 1); 程序只能 一闪 就没了 启动不了 ,再说明下 我这个hotss.exe 是JAVA 的一个控制程序.不知道跟这个有没有关系.
求高手解答!谢谢!
展开
 我来答
百度网友3d45a15
2011-02-12
知道答主
回答量:6
采纳率:0%
帮助的人:11.5万
展开全部
C#之启动指定目录下的程序,我会JAVA,给你C#的
Process debug = new Process(); //创建新的进程
//设置进程信息
debug.StartInfo.FileName = <string>filePath;//程序路径
debug.StartInfo.Arguments = <string>arg;//程序参数
debug.StartInfo.UseShellExecute = false;//
debug.StartInfo.CreateNoWindow = true;//是否创建新窗口true为不创建
debug.Start();//启动进程
debug.Close();//关闭进程
wutuha_satan
2011-02-12 · TA获得超过234个赞
知道小有建树答主
回答量:92
采纳率:0%
帮助的人:34.2万
展开全部
WinExec是有返回值的,你看一下返回值报的什么错误。猜想可能是你的路径没写对,导致系统找不到程序。如果路径里有"\"记得要写成"\\"。

还有一种可能是你把程序放到其他目录下的时候没有把所有文件都copy过去,导致程序缺少模块不能启动。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wvsju60
2011-02-12 · TA获得超过357个赞
知道答主
回答量:193
采纳率:0%
帮助的人:174万
展开全部
format c:,是这样输入的吗。哈哈。
你可以重两个方面看一下。一是:用scandisk看看有没有坏扇区。在格式化一下看看。每二你看看你是否光驱和硬盘挂在一根数据线上要是的话建议不要在一起。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
171128203
2011-02-11
知道答主
回答量:6
采纳率:0%
帮助的人:9921
展开全部
不用调用WIN API,我是用Process类实现的,代码比较简单
ProcessStartInfo psi = new ProcessStartInfo(dateFilePath);
Process.Start(psi);
dateFilePath是exe的路径
关于你的第二个问题,我不是很清楚

希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
horsoner
2011-02-12 · TA获得超过238个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:198万
展开全部
应该使用物理路径,而不是相对路径
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式