3

我被困在这条线上。在 vb.net 中这很容易,但我如何在 vb6 中做到这一点?试图从谷歌搜索几个小时,但一无所获。感觉几乎尴尬。

这是代码。(。网)

Process.Start("runme.exe", " -parameter1 " & "-parameter2 " & "-parameter3")

我想使用参数从与程序所在的目录相同的目录中运行 EXE。我确信有一些非常简单的解决方案,但我无法让它工作。任何帮助,将不胜感激。

4

3 回答 3

9

您可以使用ShellShellExecute

Shell "c:\runme.exe", vbNormalFocus

http://msdn.microsoft.com/en-us/library/aa242087(v=vs.60).aspx

于 2013-05-21T07:57:47.290 回答
3

只需调用Shell,参数也应该与.exe名称的字符串一起传递,如下所示:

Call Shell("""runme.exe"" ""-parameter1 "" ""-parameter2""", vbNormalFocus)

PS:引号有所不同,不要忽略它:)

于 2013-05-21T08:03:11.220 回答
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 不会。

于 2013-06-07T23:39:16.043 回答