Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > VB.Net 2010 โปแกรม ค้นหาไอพีในวงแลน เกิด error



 

VB.Net 2010 โปแกรม ค้นหาไอพีในวงแลน เกิด error

 



Topic : 113268



โพสกระทู้ ( 49 )
บทความ ( 0 )



สถานะออฟไลน์




Code
Private Sub ScanIP() On Error GoTo ErrorHandler If IPStartScan <= IPEndScan And blnScan = True Then Application.DoEvents() If wsIP.State <> sckClosed Then wsIP.Close() เกิด errorครับ ไม่รู้จะแก้ยังงัย wsIP.RemoteHost = strIP & "." & IPStartScan wsIP.RemotePort = txtPort.Text wsIP.Connect() IPStartScan = IPStartScan + 1 Else btnScan.Enabled = True btnStop.Enabled = False Timer1.Enabled = False If IPStartScan <= IPEndScan Then ToolStripStatusLabel1.Text = "หยุดการทำงานที่ IP: " & IPStartScan Else ToolStripStatusLabel1.Text = "การทำงานเสร็จสมบูรณ์ - " & CountIP & " IP Address" MsgBox("Scan หา IP ในระบบได้ " & CountIP & " หมายเลข - Port " & txtPort.Text) End If End If ExitProc: Exit Sub ErrorHandler: If Err.Number <> 0 Then MsgBox("Error " & Err.Number & vbCrLf & Err.Description) Resume ExitProc End Sub


อ้างอิง http://www.g2gnet.com/News/activenews_view.asp?articleID=189



Tag : .NET, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-12-16 11:06:51 By : nankittiphat View : 2024 Reply : 8
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Error Message ว่าอะไรครับ ?






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-16 11:49:32 By : mr.win
 


 

No. 2



โพสกระทู้ ( 49 )
บทความ ( 0 )



สถานะออฟไลน์


Option Explicit On

Public Class Form1
    ' นับจำนวน IP Address ที่ตรวจพบ
    Dim CountIP As Long
    ' เก็บค่า IP ชุดสุดท้ายของค่าเริ่มต้นเอาไว้ เช่น 192.168.0.1 จะเก็บค่า 1
    Dim IPStartScan As Integer
    ' เก็บค่า IP ชุดสุดท้ายของค่าสิ้นสุดเอาไว้  เช่น 192.168.0.254 จะเก็บค่า 254
    Dim IPEndScan As Integer
    ' เก็บค่า IP 3 ชุดแรก เช่น 192.168.0.254 จะเก็บค่า 192.168.0 เอาไว้
    Dim strIP As String
    ' ตัวแปรเก็บค่าสถานะของการ Scan หา IP
    ' หากเป็นจริง สถานะกำลัง Scan
    ' หากเป็นเท็จ สถานะหยุดการ Scan
    Dim blnScan As Boolean
    Private Const AF_INET = 2

    Private Declare Function inet_addr Lib "wsock32.dll" (ByVal addr As String) As Long
    Private Declare Function gethostbyaddr Lib "wsock32.dll" (addr As Long, ByVal addr_len As Long, ByVal addr_type As Long) As Long
    
    Private Declare Function WSAGetLastError Lib "wsock32.dll" () As Long
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
    Private Structure HOSTENT
    hName           As Long
    hAliases        As Long
    hAddrType       As Integer
    hLen            As Integer
    hAddrList       As Long
    End Structure
    Public Function IPtoDNS(ByVal sRemoteIP As String) As String
        ' ###################################################

        On Error GoTo ErrorHandler

        ' ประกาศให้ตัวแปร Host เรียกใช้ไปยังโครงสร้าง HOSTENT
        Dim Host As HOSTENT

        Dim dwRemoteIP As Long

        ' ทดสอบหาการชี้ตำแหน่ง Memory Address ของ Remote IP
        Dim lngTemp As Long

        ' เก็บชื่อของ HostName เอาไว้
        Dim strHostName As String

        ' เปลี่ยนค่า IP เป็นค่าตัวเลขแบบ Long ก่อน ด้วยฟังค์ชั่น inet_addr ให้สังเกตด้วยว่าเจ้าตัวนี้มันเป็น API
        dwRemoteIP = inet_addr(sRemoteIP)

        ' ให้ Pointer ชี้ไปยังโครงสร้างของ HOSTENT
        ' ซึ่งจะเก็บข้อมูลที่เกี่ยวกับที่เกี่ยวข้องกับ Network
        lngTemp = gethostbyaddr(dwRemoteIP, 4, AF_INET)

        ' หากค้นหาตำแหน่งที่เก็บข้อมูลของ Network Address ได้ (ในโครงสร้าง HOSTENT)
        If lngTemp <> 0 Then

            ' ชี้ตำแหน่ง Memory Address ที่เก็บข้อมูลของ Network ตามโครงสร้าง HOSTENT
            ' โดยที่มันจะชี้จุดเริ่มต้นตำแหน่งปลายทาง, จุดเริ่มต้นตำแหน่งต้นทาง และ ความยาวข้อมูลที่ต้องการ
            ' ขอให้สังเกตด้วยว่าเป็นการชี้ไปที่ Memory Address ของปลายทาง (Host) (ที่ๆเราจะคัดลอกข้อมูลไปเก็บ)
            ' แต่เอาค่า (ByVal) ของ lngTemp ไปเก็บที่ Memory Address ของ Host ตามขนาด Len(Host)
        CopyMemory Host, ByVal lngTemp, Len(Host)
            ' นั่นก็คือ เอาข้อมูลของเครื่องปลายทาง ไปเก็บไว้ในหน่วยความจำที่ใดที่หนึ่งก่อน

            ' จองพื้นที่ในการเก็บค่า Host Name จำนวน 256 ตัวอักขระ โดยใส่ค่า ASCII Code CHR(0) เอาไว้ก่อน
            ' ค่านี้ก็คือ NULL นั่นเอง ที่ต้องทำอย่างนี้ เพราะเราไม่รู้ค่าความยาวที่แน่นอนของ Host Name
            ' ดังนั้นเมื่อได้ค่ามายาวเท่าไรก็ตาม ก็จะตัดค่าที่เป็น NULL ทิ้งออกไปตั้งแต่ที่พบตัวแรกเลย ตามคำสั่ง
            ' Left(strHostName, InStr(strHostName, Chr(0)) - 1)
            ' หรือ อาจจะเรียกได้ว่าเป็นเทคนิคของการตัดคำที่เราไม่รู้ค่าความยาวที่แน่นอนครับ
            ' การจะใช้ค่าอื่น ที่ไม่ใช่ CHR(0) อาจจะทำให้เกิดข้อผิดพลาดได้
        strHostName = String(256, 0)

            ' อ่านค่า Host Name จาก Memory Address โดยเอาเฉพาะ hName มาเท่านั้น
            ' เป็นการเรียกผ่านตัวแปรโครงสร้าง Host น่ะครับ ... สังเกตให้ดีด้วย
            ' เอาค่า (ByVal) จาก Memory Address ของต้นทาง Host.hName
            ' ไปไว้ในตัวแปร strHostName (ตัวแปรตัวนี้มันจะมี Memory Address อะไรก็ช่างหัวมัน)
        CopyMemory ByVal strHostName, ByVal Host.hName, 256
            ' นำข้อมูลของเครื่องปลายทางที่เคยเก็บเอาไว้ ก็ให้นำออกมาแสดงผล

            ' เรื่องของ Pointer ใน VB6 ... ก็ค่อยๆไล่แกะไปน่ะครับผม สู้ๆ

            ' หากไม่พบข้อมูลของ Network Address จะส่งรหัสความผิดพลาดไปที่ WSAGetLastError()
            ' เพื่อที่จะได้แจ้งกลับมาว่าเกิดข้อผิดพลาดประการใดขึ้นมา
            If strHostName = "" Then

                IPtoDNS = "DNS Error : " & Str$(WSAGetLastError())

                ' พบข้อมูลของ Network Address
            Else
                ' ให้อ่านค่า DNS จากซ้ายไปขวา จนกว่าจะเจอรหัส ASCII Code CHR(0) หรือ ค่า NULL
                ' เมื่อพบแล้วให้ลบออก 1 ไม่งั้น CHR(0) มันจะติดเข้ามาด้วยครับ
                IPtoDNS = Left(strHostName, InStr(strHostName, Chr(0)) - 1)

            End If

            ' หากระบุ DNS ไม่ได้ ส่วนใหญ่จะเป็นพวกอุปกรณ์สื่อสาร เช่น Modem, Router
            ' ค่า lngTemp จะมีค่าเป็น 0
        Else
            IPtoDNS = "ไม่สามารถระบุ DNS ได้"
        End If

ExitProc:
        Exit Function

ErrorHandler:

        ' ขณะโปรแกรมกำลังทำงาน (Run Time) ดัก Error จาก On Error GoTo ErrorHandler
        If Err.Number <> 0 Then MsgBox("Error " & Err.Number & vbCrLf & Err.Description)
        Resume ExitProc

    End Function

    Private Sub btnStop_Click(sender As System.Object, e As System.EventArgs) Handles btnStop.Click
        btnScan.Enabled = False
    End Sub

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Timer1.Enabled = False
        txtip1.Text = "192"
        txtip2.Text = "168"
        txtip3.Text = "0"
        txtip4.Text = "0"

        txtipE1.Text = "192"
        txtipE2.Text = "168"
        txtipE3.Text = "0"
        txtipE4.Text = "255"

        txtPort.Text = "80"

        txtScan.Text = ""
        btnStop.Enabled = False

    End Sub

    Private Sub btnScan_Click(sender As System.Object, e As System.EventArgs) Handles btnScan.Click
        On Error GoTo ErrorHandler



        ' เคลียร์ข้อมูล Status Bar ช่องแรก
        ToolStripStatusLabel1.Text = ""
        ' เคลียร์ค่า TextBox ในการแสดงผลหมายเลข IP Address
        txtScan.Text = ""
        ' เคลียร์ค่าการนับจำนวน IP
        CountIP = 0

        ' กำหนดช่วงเวลาในการ Scan หา IP Address มีหน่วยเป็นมิลลิวินาที โดย 1000 ms = 1 วินาที
        ' บางครั้งก็อาจจะต้องกำหนดให้ใช้เวลานาน เพราะมันขึ้นกับสายและระยะทาง หรืออื่นๆ ด้วยน่ะครับ
        Timer1.Interval = 100

        ' หาก IP ชุดสุดท้ายไม่เป็นค่าว่าง
        If Trim(txtipE4.Text) <> "" Or Len(Trim(txtipE4.Text)) = 0 Then

            btnScan.Enabled = False
            btnStop.Enabled = True

            ' แจ้งหมายเลข Port
            txtScan.Text = txtScan.Text & "ตรวจสอบหมายเลข Port: " & txtPort.Text & vbCrLf

            ' กำหนดค่าหมายเลข IP ในการเริ่มต้น Scan หา เอาเฉพาะ 3 ชุดแรก เช่น 192.168.0
            ' แล้วค่อยๆทำการนับหมายเลขชุดสุดท้ายขึ้นไปทีละ 1
            strIP = txtip1.Text & "." & txtip2.Text & "." & txtip3.Text

            ' กำหนดหมายเลข IP Address เริ่มต้น (ชุดสุดท้าย)
            IPStartScan = txtip4.Text

            ' กำหนดหมายเลข IP ที่สิ้นสุด (ชุดสุดท้าย)
            IPEndScan = txtipE4.Text

            ' ขณะนี้กำลังทำการ Scan เมื่อไรก็ตามที่ค่านี้มีค่าเป็น False ก็จะหยุดการทำงานลงทันที
            blnScan = True

            ' กระตุ้นนาฬิกาให้ทำงานต่อไป
            Timer1.Enabled = True

        End If

ExitProc:
        Exit Sub

ErrorHandler:

        ' ขณะโปรแกรมกำลังทำงาน (Run Time) ดัก Error จาก On Error GoTo ErrorHandler
        If Err.Number <> 0 Then MsgBox("Error: " & Err.Number & vbCrLf & Err.Description)
        Resume ExitProc
    End Sub
    Private Sub ScanIP()

        On Error GoTo ErrorHandler

        ' เงื่อนไขให้ Scan เมื่อ IP ชุดสุดท้ายของค่าเริ่มต้น ยังน้อยกว่าหรือเท่ากับ IP ชุดสุดท้ายของค่าสิ้นสุด
        ' และ ยังไม่มีการกดปุ่ม cmdStop ให้หยุดการทำงาน
        If IPStartScan <= IPEndScan And blnScan = True Then

            ' ให้ CPU ไปทำงานอย่างอื่นได้เลย (คืน CPU กลับไปให้กับระบบปฏิบัติการ - OS)
            Application.DoEvents()

            ' หาก Winsock ยังมีการ Connect กับ IP ใดๆอยู่ ต้องสั่งให้ Disconnect ออกไปก่อน
            If wsIP.State <> sckClosed Then wsIP.Close()

            ' ###################################################
            ' ส่วนสำคัญที่กำหนดค่าเพื่อทำการทดสอบ
            ' กำหนด IP ให้กับ Winsock เมื่อ
            ' strIP เก็บค่า IP 3 ชุดแรก เช่น 192.168.0.111 ก็จะเก็บค่า 192.168.0 เอาไว้
            ' IPStartScan เก็บค่า IP ชุดสุดท้าย หรือ IP ที่กำลังตรวจสอบการ Connect กับ Winsock
            wsIP.RemoteHost = strIP & "." & IPStartScan

            ' กำหนดหมายเลข Port ในการติดต่อกับ Remote IP
            wsIP.RemotePort = txtPort.Text

            ' Winsock ติดต่อหมายเลข IP Address และ หมายเลข Port ตามที่กำหนด
            ' หวกสามารถติดต่อ IP Address และ Port ที่กำหนดได้ ก็จะกระโดดไปเหตุการณ์ wsIP_Connect()
            ' หากว่ามันติดต่อกับเครื่องปลายทางไม่ได้ มันก็จะไม่กระโดดไปในเหตุการณ์ Connect น่ะครับ
            ' จากนั้นเราก็ให้มันแสดงผลตามหมายเลข IP Address ออกมายังไงล่ะครับ
            ' จะเห็นการทำงานในส่วนนี้ได้ คุณต้องทำการ Debug ดูด้วยน่ะครับ ...
            wsIP.Connect()

            ' ###################################################

            ' เพิ่มค่า IP ในการ Scan ขึ้นอีก 1
            IPStartScan = IPStartScan + 1

            ' Scan หา IP Address ครบแล้ว หรือ สั่งให้หยุดการ Scan
        Else

            btnScan.Enabled = True
            btnStop.Enabled = False

            ' สั่งให้ Timer1 หยุดการทำงานด้วย
            Timer1.Enabled = False

            ' รายงานผลการ Scan IP Address ใน StatusBar
            If IPStartScan <= IPEndScan Then
                ToolStripStatusLabel1.Text = "หยุดการทำงานที่ IP: " & IPStartScan

                ' กรณี Scan IP Address เสร็จสมบูรณ์หมดแล้ว
            Else
                ToolStripStatusLabel1.Text = "การทำงานเสร็จสมบูรณ์ - " & CountIP & " IP Address"
                MsgBox("Scan หา IP ในระบบได้ " & CountIP & " หมายเลข - Port " & txtPort.Text)
            End If
        End If


ExitProc:
        Exit Sub

ErrorHandler:

        ' ขณะโปรแกรมกำลังทำงาน (Run Time) ดัก Error จาก On Error GoTo ErrorHandler
        If Err.Number <> 0 Then MsgBox("Error " & Err.Number & vbCrLf & Err.Description)
        Resume ExitProc

    End Sub

    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        ToolStripStatusLabel1.Text = "กำลังประมวลผล IP: " & strIP & "." & IPStartScan

        ' ไป Scan หา IP Address หรือ
        ' ตรวจสอบการ Connect IP Address กับ Winsock Control นั่นแหละครับ
        Call ScanIP()

    End Sub
    Private Sub wsIP_Connect()
        ' ###################################################

        On Error GoTo ErrorHandler

        ' แสดงหมายเลข IP Address และ DNS
        txtScan.Text = txtScan.Text & "IP : " & wsIP.RemoteHost & " - " & IPtoDNS(wsIP.RemoteHost) & vbCrLf

        ' นับจำนวน IP Address ที่ตรวจพบ
        CountIP = CountIP + 1

ExitProc:
        Exit Sub

ErrorHandler:

        ' ขณะโปรแกรมกำลังทำงาน (Run Time) ดัก Error จาก On Error GoTo ErrorHandler
        If Err.Number <> 0 Then MsgBox("Error " & Err.Number & vbCrLf & Err.Description)
        Resume ExitProc

    End Sub



End Class

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 08:32:21 By : nankittiphat
 

 

No. 3



โพสกระทู้ ( 49 )
บทความ ( 0 )



สถานะออฟไลน์


สิ่งที่มันฟ้อง error พอดีผมมือใหม่หัดขับ


1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 08:35:12 By : nankittiphat
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

โอ้ Error เยอะเหลือเกินครับ ว่าแต่ Code นี้มันไม่ใช่ของ VB6 เหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 09:27:34 By : mr.win
 


 

No. 5



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ลองเอาไปแก้ดูครับผมเพิ่งลองทำตะกี้เองเอาไปปรับเอาละกัน
หลักๆก็จะมีพวก IP,MacAddress,Hostname,status ประมาณนี้ครับ

Code (C#)
namespace IPScaner
{
    public class SetIP {
        public string IP; public string MacAddress; public IPHostEntry IpEntry; public PingReply reply; 
        public SetIP(string ip,string mac,IPHostEntry ipE,PingReply pr)
        {
            IP = ip; MacAddress = mac; IpEntry = ipE; reply = pr;
        }
    }
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            Ping ping = new Ping();
            //ตรวจ IP
          List<SetIP> setIP = new List<SetIP>();
            for (int i = 1; i < 255; i++)
            {
                string ip = "192.168.13." + i;
                setIP.Add(new SetIP(ip, GetMacAddress(ip), Dns.GetHostEntry(ip), ping.Send(ip)));
            }
            //นำไปใช้งาน
            for (int i = 0; i < setIP.Count; i++)
            {
                 textBox1.Text += 
                     "IP:" + setIP[i].IP +  
                     "Status:" + setIP[i].reply.Status  +  
                     "MacAddress:" + setIP[i].MacAddress +  
                     "Time to live:" + setIP[i].reply.Options.Ttl +  
                     "Host Name:" + setIP[i].IpEntry.HostName + Environment.NewLine;
            }
           

        }

        public string GetMacAddress(string ipAddress)
        {
            string macAddress = string.Empty;
            System.Diagnostics.Process pProcess = new System.Diagnostics.Process();
            pProcess.StartInfo.FileName = "arp";
            pProcess.StartInfo.Arguments = "-a " + ipAddress;
            pProcess.StartInfo.UseShellExecute = false;
            pProcess.StartInfo.RedirectStandardOutput = true;
            pProcess.StartInfo.CreateNoWindow = true;
            pProcess.Start();
            string strOutput = pProcess.StandardOutput.ReadToEnd();
            string[] substrings = strOutput.Split('-');
            if (substrings.Length >= 8)
            {
                macAddress = substrings[3].Substring(Math.Max(0, substrings[3].Length - 2))
                         + "-" + substrings[4] + "-" + substrings[5] + "-" + substrings[6]
                         + "-" + substrings[7] + "-"
                         + substrings[8].Substring(0, 2);
                return macAddress;
            }

            else
            {
                return "not found";
            }
        }


    }

    

   
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 10:27:35 By : lamaka.tor
 


 

No. 6



โพสกระทู้ ( 49 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับผม เดียวจะลองแก้ดูครับ

ได้ไม่ได้ยังงัยเดียวผมตอบครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 10:47:25 By : nankittiphat
 


 

No. 7



โพสกระทู้ ( 49 )
บทความ ( 0 )



สถานะออฟไลน์


เหอะๆๆๆลองแล้วไปไม่ถูกครับ พอจะมีตัวอย่างเป็น vb บ้างมัยครับ ดัดแปลงไม่เป็นอะครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 11:13:51 By : nankittiphat
 


 

No. 8



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

C# to vb ลองค้นใน google ดูครับ(covert C# to vb or vb to C#)
แต่ถ้าอยากค้นเอง
vb.net ping IP
vb.net MacAddress

ใช้ค้นได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-17 14:01:17 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : VB.Net 2010 โปแกรม ค้นหาไอพีในวงแลน เกิด error
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่