2015-07-02 2 views
1

Попытка создать «мир Warcraft».Не удается запустить .exe

Как это должно работать: Когда вы нажимаете «Запустить Authserver», вы можете найти authserver.exe. местоположение сохраняется, поэтому вам не нужно делать это дважды. После нажатия на него, очевидно, следует запустить authserver.exe.

Что происходит: Когда вы нажимаете «Запустить Authserver», он открывается и мгновенно закрывается с ошибкой: Ошибка, не удалось открыть, так как authserver.conf не удалось найти.

Примечание: Authserver.exe и authserver.conf находятся в одной папке, я могу запустить ее вручную.

Mort помог мне с аналогичной проблемой вчера, я надеялся, что тот же код VB будет работать, поскольку это казалось бы очевидным.

Private filePath As String = String.Empty 

Private Sub PlayButton_Click(sender As System.Object, e As System.EventArgs) Handles PlayButton.Click 
    Try 
     If filePath.Length = 0 Then 
      Dim diagResult As DialogResult = OpenFileDialog1.ShowDialog() 
      If diagResult = Windows.Forms.DialogResult.OK Then 
       filePath = OpenFileDialog1.FileName 
       If filePath.ToUpper.EndsWith("WOW.EXE") Then 
        Process.Start(filePath) 
       Else 
        MessageBox.Show("Wrong file selected!") 
        filePath = String.Empty 
       End If 
      End If 
     Else 
      Process.Start(filePath) 
     End If 

    Catch ex As Exception 
     MessageBox.Show(String.Concat("An error occurred in the play button click:", ex.Message)) 
    End Try 

End Sub 

У кого-нибудь есть идеи? Заблаговременно: Спасибо.

+0

Вы, наверное, неправильный рабочий каталог. – SLaks

+2

используйте 'Process.StartInfo.WorkingDirectory', чтобы сообщить, с чего начать. – Plutonix

+0

Только что проверено, каталог верен. – Christian

ответ

0

Попробуйте что-то вроде этого:

Private Sub PlayButton_Click(sender As System.Object, e As System.EventArgs) Handles PlayButton.Click 
 
     Try 
 
      OpenFileDialog1.FileName = "" 
 
      OpenFileDialog1.Filter = "World of Warcraft (WOW.EXE)|WOW.EXE" 
 
      Dim diagResult As DialogResult = OpenFileDialog1.ShowDialog 
 
      If diagResult = Windows.Forms.DialogResult.OK Then 
 
       Dim p As New Process 
 
       Dim fn As New System.IO.FileInfo(OpenFileDialog1.FileName) 
 
       p.StartInfo.WorkingDirectory = fn.DirectoryName 
 
       p.StartInfo.FileName = fn.Name 
 
       p.Start() 
 
      End If 
 
     Catch ex As Exception 
 
      MessageBox.Show(String.Concat("An error occurred in the play button click:", ex.Message)) 
 
     End Try 
 
    End Sub

+0

Очень ценится Чак. Отлично работает. – Christian

+0

Отлично, спасибо, получайте удовольствие! – Chuck

Смежные вопросы