Überprüfen ob Datei im gleichen Verzeichniss vorhanden

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Überprüfen ob Datei im gleichen Verzeichniss vorhanden

    Zur Vorgeschichte:

    Nach einigem hin und her haben ich und 2 weitere Leute uns entschieden im Bereich Online MMORPG tätig zu werden. Genauer gesagt wollen wir ein Projekt auf die Beine stellen, in dem wir einen Privaten Spieleserver zur Verfügungstellen und supporten.
    Der Server selbst läuft nun einigermassen rund und (fast) alles ist für die Spieler vorbereitet :)
    Da wir uns ein wenig von der Masse absetzen wollen, haben wir beschloßen auch einen eigenen Spielelauncher zu erstellen.
    Soweit so gut, der Launcher läuft bisher einwandfrei.

    Da wir den Launcher nun automatisch ins Spieleverzeichniss installieren lassen kam es immer häufiger zu dem Problem, dass der Spieler den installationsanweisungen nicht gefolgt ist. So wurde der Launcher in das falsche verzeichniss installiert und konnte so das Spiel nicht starten. Daher wäre eine Startabfrage ( bei Launcherstart ), ob die Startdatei welche über den Launcher aufgerufen wird im gleichen Verzeichniss vorhanden ist, die ideale Lösung.
    Die Datei, welche auf vorhandensein geprüft werden soll, heisst: Aion.bin
    Der Launcher soll beim starten überprüfen ob die Datei im gleichen verzeichniss vorhanden ist und wenn nicht ein Fehlerfenster öffnen in dem steht: "Der Launcher wurde in das falsche Verzeichniss installiert - bitte installiere den Launcher neu."

    Da ich ein ziemlicher neuling bin, war ich nach 8 Tagen froh den Launcher soweit hinbekommen zu haben^^ - allerdings konnte ich das zuvor beschriebene Problem nicht beseitigen :( Langsam rauchts im Kopf :(


    Vll. weiss ja jemand von euch eine Lösung :)

    Hier ersteinmal der Code:

    VB.NET-Quellcode

    1. Imports System.Net.Sockets
    2. Imports System.Net.WebClient
    3. Public Class Form1
    4. Private Sub Form1_Load_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. WebBrowser2.Visible = True
    6. 'Connection World server
    7. If (EstablishConnection("62.75.252.168", 2106) = False) Then 'ServerIp + Port
    8. Label7.Text = "Online"
    9. Label7.ForeColor = Color.Green
    10. ElseIf (EstablishConnection("62.75.252.168", 2106) = True) Then 'ServerIp + Port
    11. Label7.Text = "Offline"
    12. Label7.ForeColor = Color.Red
    13. End If
    14. 'Conncetion Login server
    15. If (EstablishConnection("62.75.252.168", 2106) = False) Then 'LoginServerIp + Port
    16. Label8.Text = "Online"
    17. Label8.ForeColor = Color.Green
    18. ElseIf (EstablishConnection("62.75.252.168", 2106) = True) Then 'LoginServerIp + Port
    19. Label8.Text = "Offline"
    20. Label8.ForeColor = Color.Red
    21. End If
    22. End Sub
    23. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    24. Me.Close()
    25. End Sub
    26. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    27. System.Diagnostics.Process.Start("http://area64.eu/Aion")
    28. End Sub
    29. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    30. System.Diagnostics.Process.Start("http://de.aiondatabase.com/search")
    31. End Sub
    32. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    33. System.Diagnostics.Process.Start("http://aion.guidesworld.de/")
    34. End Sub
    35. Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
    36. Dim obj2 As Object = Interaction.Shell(".\bin32/aion.bin -ip:62.75.252.168 -port:2106 -cc:2 -lang:deu -noauthgg -noweb", AppWinStyle.MinimizedFocus, False, -1)
    37. End Sub
    38. Public Function EstablishConnection(ByVal IpAddress As String, ByVal port As Integer) As Boolean
    39. Dim socket As Net.Sockets.Socket = New Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.Tcp)
    40. Dim result As IAsyncResult = socket.BeginConnect(IpAddress, port, Nothing, Nothing)
    41. Dim success As Boolean = result.AsyncWaitHandle.WaitOne(5000, True)
    42. 'Dim connect As Boolean = socket.
    43. If socket.Connected = True Then
    44. socket.Close()
    45. Return False
    46. Else
    47. Return True
    48. End If
    49. End Function
    50. End Class


    * Verschoben (von nicgenie) *

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nicgenie“ ()