易截截图软件、单文件、免安装、纯绿色、仅160KB

vb启动外部应用程序的问题

有个外部应用程序(myapp.exe),启动前,需要设置环境变量,才能启动
这通常是通过编写一个批处理程序,来完成,
例如:
==== start.bat ===
set HOME_FOLDER='c:\app'
set TEMP_FOLDER='c:\temp'
myapp.exe

运行start.bat即可正确启动myapp.exe

现在,需要用vb来控制这个程序的启动和退出,这个我知道可以用System.Diagnostics.Process来实现
但是如果用Process启动start.bat则会出现一个dos窗口,我不想看到这个窗口
如果直接启动myapp.exe则会因为环境变量未设置好,而导致myapp.exe运行不成功

有什么办法可以用vb先设置环境变量,然后启动myapp.exe吗?

承蒙赐教、不胜感激

process.StartInfo.CreateNoWindow=true

用c#设置环境变量,应该还是需要调用系统user32.dll链接库,你可以参考http://zhidao.baidu.com/question/53584405.html

搜一下:批处理 隐藏CMD窗口

可以在代码里设置环境变量:
Environment.SetEnvironmentVariable("PATH", path);

用System.Diagnostics.Process来实现可以设置成不显示dos窗口的

Dim psi As New System.Diagnostics.ProcessStartInfo
With psi
    .CreateNoWindow = True
    .FileName = System.IO.Path.Combine(Application.StartupPath, "start.bat")
    .WindowStyle = ProcessWindowStyle.Hidden
End With
System.Diagnostics.Process.Start(psi)

同意楼上。环境变量。在.net下也可以设置。

引用
可以


相关问答:

关于ASP.net(vb)播放监控录像的问题

我有厂家做的ASP的监控录像(DVR)的局域网播放的源程序与控件,想要用ASP.net做一个视频回放的程序(利用他的控件)但不知如下去做,望各位指点。
先搞清楚他们的控件是怎么用的,
然后就直接用好了.
不过,如 ......

VB中有无TApplication对应类型

我用Delphi写了一个DLL, DLL里有MDI的子窗体,DLL初始化时 传递调用者的TApplication给DLL, 在Delphi7中调用已经通过,但是不知道在VB中有无TApplication对应类型, 是否能在VB中调用?
你好,用instance不是就可以了&# ......

求教下VB如何给D3D游戏写屏 - VB / API

想在warcraft3里进行写屏操作【如对战平台中的胜负提示信息】,效果就像游戏平台中一样,我试过在一窗口中写入文字,然后一直让窗口强制最前,虽然能实现文字显示,但是文字会不断闪烁,而且有不确定BUG,通过论坛搜 ......

VB修改注册表

用VB怎么只针对windows自带的文件的右键添加菜单 如(.txt .doc)
这个是只针对以这两个为扩展名的文件操作
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\txtfile\shell\[随便起名]\command]
@= ......

VB连接数据库查询超时问题

再VB模块中我是通过如下方式来连接主库和历史库的(历史库数据量大)
VB code:

Public Connstr As String
Public objConn As New ADODB.Connection
Public ConnHISstr As String
Public objConnHIS As New A ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号