0

создал 2 проекта vb.net...

первый консольное приложение

Module Module1

    Sub Main()
        While True
            Console.WriteLine("test")
            System.Threading.Thread.Sleep(1000)
        End While
    End Sub

End Module

собрал.

затем второе с гуи, из которого хочу запустить первое

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        startTmp()
    End Sub


    Private Sub startTmp()
        ' обмен данными с внешним процессом через 
        ' функции StdIn, StdOut и StdErr
        Dim myProcess As Process = New Process()
        ' описание и запуск процесса
        myProcess.StartInfo.FileName = "с:\console_test.exe"
        myProcess.StartInfo.Arguments = ""
        myProcess.StartInfo.UseShellExecute = False
        myProcess.StartInfo.CreateNoWindow = False
        myProcess.StartInfo.RedirectStandardInput = True
        myProcess.StartInfo.RedirectStandardOutput = True
        myProcess.StartInfo.RedirectStandardError = True
        myProcess.Start()
    End Sub

End Class

выдает ошибку на строке myProcess.Start() о том что файл не найден. Файл 100% есть и путь с названием 100% верные.

IDE - VS comunity 2017

Что не так?

  • У меня Ваш код работает. Попробуйте запустить с соммандной строки файл (скопируйте адрес), чтоб еще раз убедиться в правильности адреса. – koshe Jun 22 '17 at 19:26
  • сейчас немного разобрался, проблема не в имени и не в пути, проблема в том что при myProcess.StartInfo.UseShellExecute = False файлы запускаются из директорий прописанных в системной переменной PATH или из той же директории откуда вызывается, но указать конкретный путь в этом случае через параметр WorkingDirectory нельзя согласно документации. Остается вопрос как указать абсолютный путь. – Vyacheslav Danshin Jun 22 '17 at 19:33
  • @koshe исходя из этой документации https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.workingdirectory.aspx я понял что либо добавлять путь консольного приложения в PATH либо держать его в той же директории где приложение которое его запускает, иначе ошибка file not found. Все же надеюсь что есть способ это победить... – Vyacheslav Danshin Jun 22 '17 at 19:45

0 Answers0