เนื่องจากหลายปัจจัยครับ ไม่ใช่น้ำท่วม ช่วงเดือน ต.ค นะครับ เพียงเพราะว่าผมไม่มีเวลามานั่งหน้าคอมนั้นเอง เนื่องจาก
งานการที่่ทำงานมอบหมายให้ผมเยอะเหลือเกิน จนไม่มีเวลาดูแลตนเอง และเข้ามาอัพเดทบทความให้ทุกท่านได้อ่านกัน
วันนี้ผมจะมา นำเสนอ การเขียนโปรแกรม Login เข้าเกมส์ โดย ใช้ webbrowser Control ใน Vb 2008
ซึ่งครั้งนั้นผมเคยได้เสนอบทความ การเขียนโปรแกรม login เข้าเกมส์ Ava ซึ่งเป็นเกมส์ ที่เพิ่งเข้ามาในประเทศไทย ไมใช่เพิ่งเข้ามาครับ แต่เป็นเกมส์ที่เพิ่งนำเข้ามาทำ Server ในประเทศไทย
ซึ่งระบบ Login นี้ หรือ Source Code นี้สามารถนำไปประยุค ทำโปรแกรม Login ได้ในหลายเกมส์ ของ บริษัท A$ ซึ่งทำระบบ Login ของทุกเกมส์ ในแนวนี้เหมือนกันหมด เพียงแค่เปลี่ยน input ที่รับข้อความ ของแต่ละเกมส์ เช่น เกมส์ Au ,FS หรือ เกมส์อื่นๆ ครับ
ในที่นี้ผมกำหนด Form ชื่อ Login ครับ
โค้ดประมา๊ณนี้ครับ
Public Class Login
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
WebBrowser1.Navigate("https://secure4.playpark.com/play/au/login.aspx") 'ผมแก้เป็น AU นะ
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Then
MsgBox("กรุณาระบุ Username ก่อนทำการ Login.", MsgBoxStyle.Exclamation, "Error!")
Exit Sub
ElseIf TextBox2.Text = "" Then
MsgBox("กรุณาระบุ Password ก่อนทำการ Login.", MsgBoxStyle.Exclamation, "Error!")
Exit Sub
End If
WebBrowser1.Document.GetElementById("ctl00_content_txtUsername").SetAttribute("value", TextBox1.Text)'ต้องแก้ตรงนี้ให้เป็น input ที่รับ user ของแต่ละเกมส์ ของ A$ เช่น (ctl00_content_txtUsername)
WebBrowser1.Document.GetElementById("ctl00_content_txtUserPwd").SetAttribute("value", TextBox2.Text)'ต้องแก้ตรงนี้ให้เป็น input ที่รับ password ของแต่ละเกมส์ของA$(ctl00_content_txtUserPwd)
Dim allelements As HtmlElementCollection = WebBrowser1.Document.All
For Each webpageelement As HtmlElement In allelements
If webpageelement.GetAttribute("id") = "ctl00_content_btnLogin" Then'ต้องแก้เป็นจุดรับการกดของแต่ละเกมส์
webpageelement.InvokeMember("click")
End If
Next
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If TextBox3.Text = "https://secure4.playpark.com/play/au/start_game.aspx" Then
Dim allelements As HtmlElementCollection = WebBrowser1.Document.All
For Each webpageelement As HtmlElement In allelements
If webpageelement.GetAttribute("id") = "btn_start_client" Then
webpageelement.InvokeMember("click")
End If
Next
TextBox3.Text = ""
Timer2.Enabled = True
End If
End Sub
Private Sub WebBrowser1_Navigated(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
TextBox3.Text = WebBrowser1.Url.ToString
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Try
Dim ProcessFileName As String = "patcher"'ชื่อ process หากมีการพบ
Dim p As Process = Process.GetProcessesByName(ProcessFileName)(0)
Me.Close()
Catch
End Try
End Sub
Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
System.Diagnostics.Process.Start("http://oneintel.blogspot.com/")
End Sub
End Class
ถ้าหากสงสัยการเขียนตรงส่วนไหน สามารถ ติชมได้ผ่านทางกาีร Comment ครับ
หาก นำไป สอนเขียนหรือแจก โค้ด กรุณาช่วยให้เครดิทเจ้าของ Blog หน่อยนะครับ
โดยการแนะนำให้เข้าชม Blog นี้ ครับ
 
ขอบคุณมากครับ ขอบคุณจากใจเลยจริงๆครับ
ตอบลบอยากทราบว่า เกมที่ไม่ได้ login ผ่าน Web Browser เช่น เกม Mstar สามารถ ทำโปรแกรม login ได้ไหมครับ
ตอบลบจริงๆ อยากปรึกษา พอดี มีไอดีหลายตัว แล้วอยากเขียนโปรแกรมให้สามารถ login ได้ทีละ หลายๆไอดี (ต้องการแค่ Login แล้วออกเลย ไม่ได้เล่น)
ตอบลบช่วยแนะนำด้วยนะครับ
รบกวนติดต่อกลับทางเมลลนี้หน่อยได้ไหมคะ พอดี กำลังทำโปรเจคด้วยโปรแกรม vb2008 ค่ะ
ตอบลบsuchittra1991@gmail.com ค่ะ ขอบคุณล่วงหน้าเรยค่ะ :)