Blenderがリモートデスクトップで起動できない問題で、コマンドプロンプトで「query session」コマンドを実行することにより、セッションIDを確認しました。
この処理をバッチファイルで自動化したかったのですが、できなかったので、VB.netでやってみることにしました。
スポンサーリンク
VB.netで「query session」の結果を取得する方法
VB.netでコマンドプロンプトを操作するだけだと思ったのですが、うまくいきませんでした。
試行錯誤した結果、ユーザー名とパスワードを設定して実行することでうまくいくことがわかりました。
VB.netで「query session」の結果を取得するコード
結果はメッセージボックスに表示するようにしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Dim sResult As String Dim psiA As New System.Diagnostics.ProcessStartInfo() Dim sCommand As String psiA.UserName = "[ユーザー名]" Dim sPWD As String = "[パスワード]" Dim ssPWD As New System.Security.SecureString() For Each c As Char In sPWD ssPWD.AppendChar(c) Next psiA.Password = ssPwd sCommand = "/c query session " psiA.FileName = System.Environment.GetEnvironmentVariable("ComSpec") psiA.RedirectStandardInput = False psiA.RedirectStandardOutput = True psiA.UseShellExecute = False psiA.CreateNoWindow = True psiA.Arguments = sCommand Dim p As Process = Process.Start(psiA) sResult = p.StandardOutput.ReadToEnd MessageBox.Show(sResult) |
得られた結果を処理すれば、Blenderをリモートデスクトップで起動するツールが作成できます。