vb调用批处理

来源:百度知道 编辑:UC知道 时间:2024/05/22 17:51:19
vb调用批处理出错
悬赏分:20 - 离投票结束还有 4 天 23 小时
我用vb调用一个批处理文件写单片机程序(shell+路径),这个批处理文件单独用时很好用,用vb调用就会出错,是批处理程序出错,不是vb程序出错哦,批处理写单片机程序是用串口写的,开始时以为是串口占用,后来单独写了个vb调用程序也不行,好像和串口占用没关系啊,还是我的调用方式有问题啊?请哪位高手指点啊!!不胜感激啊!!!!
问题补充:我有的分都悬赏了,谢谢两位的回答,本人是VB菜鸟,一楼我试过了,好像还是不行,下面是我程序
Private Sub Command1_Click()
Set WshShell = CreateObject("Wscript.Shell")
WshShell.CurrentDirectory = "ccom1.exe"
ph = "e:\ccom1.exe"
WshShell.run ph
End Sub
他会提示实时错误
对象'CurrentDirectory'的方法'IWshShell3'失败
让见笑还请见谅啊!!

Private Sub Command1_Click()
Set WshShell = CreateObject("Wscript.Shell")
WshShell.CurrentDirectory = "C:\Program Files\WinRAR\"
ph = "WinRAR.exe"
WshShell.run ph
End Sub

CurrentDirectory 返回一个字符串,其中包含活动过程的当前工作目录的完全限定路径。
你的错误是指定程序了而不是目录.

VB调用其他程序,简单的用shell,你这是脚本,用的更少.
一般用API函数ShellExecute,用这个比shell好很多.

直接用下面的方法试试
建立一个文本,名字改为Test.vbs
然后在文件中写入下面内容:
Dim Obj as Object
set Obj = CreateObject("Wscript.Shell")
Obj.run "C:\1.exe" '你的程序地址,如果他在脚本目录下,只写个名字

如果你要用VB的话,
如下:
Private Sub Command1_Click()
Dim Obj as Object
set Obj = CreateObject("Wscript.Shell")
Obj.run "C:\1.exe" '你的程序地址,如果他在脚本目录下,只写个名字
End Sub

关于你上面的错误,我建议你去了解一下Wscript的使用,

调用批处理就用Shell好了,最简单了