Habe Kanaye's Login Launcher etwas abgeändert, sprich Exception-Handling und die Möglichkeit, den Launcher auch verschieben zu können, hinzugefügt. Hier ist der Downloadlink:
[Only registered and activated users can see links. Click Here To Register...]
bzw. hier einzeln der Sourcecode der Hauptform:
[Only registered and activated users can see links. Click Here To Register...]
bzw. hier einzeln der Sourcecode der Hauptform:
Code:
Imports System.Security.Cryptography
Imports System.Text
Imports System.Net
Imports System.IO
Public Class Login
' Copyright 2013, All right reserved. Design By Kanaye假名你們
' Elitepvpers: http://www.elitepvpers.com/forum/members/4896069-kanaye-.html
' Skype: Kanaye-Gaming
' Email-Adresse: [Only registered and activated users can see links. Click Here To Register...]
' Edited by Darkangel44
Const MyIPAddress As String = "127.0.0.1" ' => Lokal
Const CashShopURL As String = "http://MyHomepage.de/shop"
Const ClientExeName As String = "Odin.exe"
Public Shared Function GetMD5Hash(ByVal TextToHash As String) As String
If TextToHash = "" Then Return Nothing
Dim md5 As MD5 = New MD5CryptoServiceProvider()
Return System.BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(TextToHash)))
End Function
Protected Overrides Sub WndProc(ByRef Msg As Message)
MyBase.WndProc(Msg)
If Msg.Msg = &H84 AndAlso Msg.Result = &H1 Then
Msg.Result = &H2
End If
End Sub
Private Sub pbStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pbStart.Click
If tbPassword.Text = "" Or tbUsername.Text = "" Then
MsgBox("Bitte geben Sie einen Benutzernamen und ein Passwort ein!", MsgBoxStyle.Information, "Keine Eingabe")
Exit Sub
End If
Try
Dim tempPassToken As String() = GetMD5Hash(tbPassword.Text).Split("-")
Dim passMD5 As String = ""
For i = 0 To tempPassToken.Length - 1
passMD5 = passMD5 & tempPassToken(i)
Next
Dim wc As WebClient = New WebClient()
wc.Proxy = Nothing
Dim Login As String() = wc.DownloadString("http://" & MyIPAddress & ":81/login/Login.php?Username=" & tbUsername.Text & "&Password=" & passMD5.ToLower()).Split("#")
wc.Dispose()
If Login(0) = "OK" Then
If Not File.Exists(ClientExeName) Then
MsgBox("Der Client konnte nicht gefunden werden!", MsgBoxStyle.Critical, "Client nicht gefunden")
Exit Sub
End If
MsgBox("Viel Spaß wünscht euch Kanaye假名你們")
Process.Start(ClientExeName, "-osk_server " & MyIPAddress & " -osk_token " & Login(1) & " -osk_store " & CashShopURL)
Application.Exit()
Else
MsgBox("Falscher Benutzername oder Passwort, bitte versuchen Sie es erneut!")
End If
Catch WebEx As WebException
MsgBox("Der Loginserver ist momentan nicht erreichbar!", MsgBoxStyle.Critical, "Loginserver nicht erreichbar")
End Try
End Sub
Private Sub pbExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pbExit.Click
Application.Exit()
End Sub
Private Sub Login_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not CheckConnection() Then
MsgBox("Es besteht keine Verbindung zum Internet!", MsgBoxStyle.Critical, "Verbindung fehlgeschlagen")
Application.Exit()
End If
If Not CheckServer() Then
MsgBox("Die Verbindung zum Server ist fehlgeschlagen! Warten Sie ein wenig und kontaktieren Sie sodann den Serverinhaber!", MsgBoxStyle.Critical, "Server nicht erreichbar")
Application.Exit()
End If
End Sub
Function CheckConnection() As Boolean
Try
My.Computer.Network.Ping("google.de")
Return True
Catch ex As Exception
Return False
End Try
End Function
Function CheckServer() As Boolean
Try
My.Computer.Network.Ping(MyIPAddress)
Return True
Catch ex As Exception
Return False
End Try
End Function
Private Sub tbUsername_Enter(sender As Object, e As System.EventArgs) Handles tbUsername.Enter
If tbUsername.Text = "Benutzername" Then tbUsername.Clear()
End Sub
Private Sub tbUsername_Leave(sender As Object, e As System.EventArgs) Handles tbUsername.Leave
If tbUsername.Text = "" Then tbUsername.Text = "Benutzername"
End Sub
Private Sub tbPassword_Enter(sender As Object, e As System.EventArgs) Handles tbPassword.Enter
If tbPassword.Text = "Password" Then tbPassword.Clear()
End Sub
Private Sub tbPassword_KeyPress(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles tbPassword.KeyDown
If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Then
pbStart_Click(Nothing, Nothing)
End If
End Sub
Private Sub tbPassword_Leave(sender As Object, e As System.EventArgs) Handles tbPassword.Leave
If tbPassword.Text = "" Then tbPassword.Text = "Password"
End Sub
End Class