我正在使用下面的代碼在cmd中執行我的命令。這實際上是爲了在我的服務器上運行一個exe。如何在客戶端使用vb6遠程運行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文件在服務器上?
- 如何在我的電腦上完成後關閉窗口和進程?
僅僅因爲它使用0%的CPU,並不意味着它「甚至沒有啓動」。從命令提示符運行批處理文件時它工作嗎? 'my.exe'可能正在等待一些輸入,等等。 – Deanna
@Deanna當我手動啓動exe時,啓動時間不到1秒,但是當我使用psexec進行操作時,它甚至沒有顯示窗體,所以它等待什麼我不知道,但我希望它執行正確的時間,它可能需要超過1秒沒有問題,但它不應該需要幾個小時才能開始..只顯示有一個錯誤的地方.. –
@BerkerYüceer:當你開始時會發生什麼命令提示符下的psexec命令? (而不是從vb內)你會得到任何結果或錯誤信息? ...也許你的psexec命令的語法不正確? – Hrqls