vb6: objShell error

2019-09-09 20:28发布

问题:

public sub Main()

Set objShell = CreateObject("WScript.Shell")
                 strCommand = "C:/Program Files/s/schedule.exe"
                 objShell.Run strCommand, vbHide, True
Unload Me

end sub

it's supposed to run schedule.exe hidden....but program crashes with

Runtime error '-2147024894 (80070002)' :
method '~' of object '~' failed

basically i need schedule.exe to run silently without interrupting the user.

回答1:

If you had a reference to Windows Script Host Object Model you would get this more descriptive error message:

Automation error
The system cannot find the file specified. 

This might clue you that you had to quote the executable filename if it contains spaces like this:

Public Sub Main()
    Dim objShell As Object ' WshShell
    Dim strCommand As String

    Set objShell = CreateObject("WScript.Shell")
    strCommand = "C:/Program Files/7-zip/7z.exe"
    objShell.Run """" & strCommand & """", vbHide, True ' WshHide
End Sub


回答2:

You don't need to use WScript: just use the Shell function with the vbHide argument.

Shell "C:\Program Files\s\schedule.exe", vbHide


标签: vb6