首页 新闻 搜索 专区 学院

.net 启动外部程序 shell 参数的方法

0
[已关闭问题] 关闭于 2009-01-31 23:07

现在在asp.net下想调用一个外部EXE 程序该 程序也是用.net 完成,一个window服务类型的应用程序,应用程序在VS中指定的debug中使用参数可以执行,但是现在想在asp.net中启动这个应用程序如何来使用呢?我想到了用shell这个函数(vb.Net) 可是查了MSDN 上说要注意 文件名和文件规范要全部引起 我理解的是 应该是这样的 shell ("*****/****/***.exe a b c d ",****) ,可后来又说中间不要有空格。不明白怎么调用了。

这个应用程序执行的是这样的 ****/***.exe 0 2 1 44556677

大概是这个样子,我现在是这样写的 shell(chr(34) & "****/***.exe" & " " & "0" & " " & "2" ... & (chr34),*****)  然后提示找不到文件 ,我看了路径是没错。可是为什么执行不起来。该如何写这个函数呢?谢谢

问题补充: 现在的问题是用双引号引起了应用程序的路径。参数也传入,可是还是执行不了。后来不知道怎么了在本地VS中调试能运行程序,直接运行页面也能运行程序。用Release发布网站后在本地执行可以。能正常运行。可是我把这个发布网站的包放到一台VS2003 的机器上就运行不了。我也把这个应用程序及应用程序所要调用的文件(都在本级目录)的文件也加上了最高的权限。还是不行。最后把应用所在的程序目录也提升了权限。可是还是运行不了。不知道为什么?我怀疑两个原因 一,一个是我之前都是用Debug模式发布网站,是不是这回我用Release模式发布网站的缘故。 二,再者是不是我的应用程序中与这个应用程序相关联的文件的版本的问题?是不是要拿这个应用程序到每台要建立网站的机器上去编译一下? 谢谢大家。
二十二号同学的主页 二十二号同学 | 小虾三级 | 园豆:790
提问于:2009-01-17 15:38
< >
分享
所有回答(3)
0

用Process.Start可以打开指定文件

Process.Start(My.Application.Info.DirectoryPath() & "\***.***")

用Shell也可以打开指定文件

 Shell("C:\123.exe", 1)

XBW | 园豆:404 (菜鸟二级) | 2009-01-17 23:26
0

如果你要在ASP.NET 下调用,必须给ASPNET帐号赋予对这个应用程序的执行权限才可以。

调用方法用楼上的就可以了。

eaglet | 园豆:17119 (专家六级) | 2009-01-18 12:56
0

楼主 我好你遇到相同的问题了,你是怎么解决的?
我的是在程序里调用外部一个命令程序 在vs可以运行
可是在发布后在IIS上运行不了   文件权限也给了

楼主若知道,告诉我一下吧

乐上 | 园豆:8 (初学一级) | 2012-09-08 19:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册