Vb6 Shell运行不';我不能始终如一地工作
我正在尝试在vb6 dll中运行以下代码位:Vb6 Shell运行不';我不能始终如一地工作,vb6,wsh,Vb6,Wsh,我正在尝试在vb6 dll中运行以下代码位: Dim objWSShell As Object Set objWSShell = CreateObject("Wscript.Shell") objWSShell.Run strPath & "test.bat", 0, True dll进程挂起。批处理文件将不会运行,无论其内容如何。我甚至尝试了一个空的批处理文件,但它仍然挂断。但是,如果我尝试这段代码,有以下更改: Dim objWSShell As Object Set objWSS
Dim objWSShell As Object
Set objWSShell = CreateObject("Wscript.Shell")
objWSShell.Run strPath & "test.bat", 0, True
dll进程挂起。批处理文件将不会运行,无论其内容如何。我甚至尝试了一个空的批处理文件,但它仍然挂断。但是,如果我尝试这段代码,有以下更改:
Dim objWSShell As Object
Set objWSShell = CreateObject("Wscript.Shell")
objWSShell.Run "calc", 0, True
它很好用。我不明白为什么exe文件能工作而bat文件不能。有什么想法吗?您需要运行cmd.exe并将BAT文件传递给它
objWSShell.Run "%COMSPEC% /c " & strPath & "test.bat", 0, True
您需要运行cmd.exe并将BAT文件传递给它
objWSShell.Run "%COMSPEC% /c " & strPath & "test.bat", 0, True
您不需要使用shell脚本编写工具,您可以让事情变得更简单&使用内置的
shell()
函数:
shell environ$("COMSPEC") & " /C c:\xxx\yyy.bat", vbNormalFocus
同上:
shell "calc", vbNormalFocus
您不需要使用shell脚本编写工具,您可以让事情变得更简单&使用内置的
shell()
函数:
shell environ$("COMSPEC") & " /C c:\xxx\yyy.bat", vbNormalFocus
同上:
shell "calc", vbNormalFocus
我遇到了一个问题,无法直接从WScript.Shell
运行批处理文件,但我没有修改VBScript的权限。原来.bat扩展名上有一个注册表覆盖
虽然使用COMSPEC对我很有效,但删除注册表项实际上解决的不仅仅是WScript问题 我有一个无法直接从WScript.Shell
运行批处理文件的程序,但我没有修改VBScript的权限。原来.bat扩展名上有一个注册表覆盖
虽然使用COMSPEC对我很有效,但删除注册表项实际上解决的不仅仅是WScript问题 我同意这一点,如果需要,可以使用“Shell和wait”技术对其进行增强。谷歌应该随时提供一些例子。我同意这一点,如果需要,可以使用“Shell和wait”技术对其进行增强。谷歌应该随时提供一些例子。