以下のコードを使用して、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ファイルを終了したら、リモートで実行して閉じるにはどうすればよいですか?
- 私のPCでも終了時にウィンドウとプロセスを閉じるにはどうすればよいですか?