我被困在这一行上了。在vb.net中这很简单,但是如何在vb6中执行此操作?试图从谷歌搜索几个小时,什么也没得到。感觉几乎是尴尬。
这是代码。 (.NET)
Process.Start("runme.exe", " -parameter1 " & "-parameter2 " & "-parameter3")
我想使用参数从与程序所在目录相同的目录运行EXE。我确信有一些非常简单的解决方案,但我无法让它工作。任何帮助将不胜感激。
答案 0 :(得分:8)
您可以使用Shell
和ShellExecute
Shell "c:\runme.exe", vbNormalFocus
http://msdn.microsoft.com/en-us/library/aa242087(v=vs.60).aspx
答案 1 :(得分:3)
只需调用Shell,参数也应该使用.exe名称的字符串传递,如下所示:
Call Shell("""runme.exe"" ""-parameter1 "" ""-parameter2""", vbNormalFocus)
PS:引号有所不同,不要忽略它:)
答案 2 :(得分:0)
您可以使用ShellExecute:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
ShellExecute 0, "open", App.Path & "\runme.exe", "-parameter1 -parameter2 -parameter3", vbNullString, vbNormalFocus
我发现使用Shell会导致调用程序等待返回值的延迟,而ShellExecute则没有。