我正在使用下面的代码在 cmd 中执行我的命令。这实际上是为在我的服务器上运行 exe 而设计的。
Private Sub Command1_Click()
Dim FN As Integer
FN = FreeFile
'DOS COMMANDS
ServerName = "\\mydbserv"
ExePath = """d:\myfolder\my.exe"""
UserName = "myserver\myuser"
Password = "mypass"
MyCommand = "psexec " & ServerName & " -u " & UserName & " -p " & Password & " -i " & ExePath
'Open Bat file
Open "C:\Mybatc.bat" For Output As #FN
Print #FN, "cd c:\Users\myuser"
Print #FN, MyCommand
Print #FN, "Exit"
Close #FN
'Activate
result = Shell("C:\Mybatc.bat", vbHide)
End
End Sub
一切都很好,直到我看到进程完成后 cmd 没有关闭。更糟糕的是我试图远程运行的 exe 也没有停止。当我检查 CPU 使用情况时,它总是显示“00”甚至没有启动。它显示出永远工作但实际上从来没有工作过。所以我的问题是:
- 为什么我不能远程运行这个exe文件?(或者为什么它就像跑步一样)
- 在服务器上完成此 exe 文件后,如何远程运行和关闭?
- 在我的电脑上完成后如何关闭窗口和处理?