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,036

HOME > .NET Framework > Forum > ถ้าจะใช้ C# การตรวจจับการ PING ใน cmd บน windows จะต้องเรียกใช้ API อะไร หรือมีรูปแบบการเขียนอย่างไรครับ



 

ถ้าจะใช้ C# การตรวจจับการ PING ใน cmd บน windows จะต้องเรียกใช้ API อะไร หรือมีรูปแบบการเขียนอย่างไรครับ

 



Topic : 111884



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



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




สมมติว่าเราทำการ PING บน cmd ดังนี้
ping in cmd

แล้วเรามีโปรแกรมโปรแกรมหนึ่งที่โชว์ status การ PING (เป็นตัวตรวจจับ)
routing table

ถ้าใช้ C# เขียน อยากทราบว่า เราจะเข้าถึงข้อมูลภายใน cmd ได้อย่างไร ซึ่งในที่นี้ผมต้องการค่า ip address และ mac address จากการ ping ผ่าน cmd ทั้งต้นทาง-ปลายทาง และเมื่อเกิดการ ping ค่าของ IP และ MAC-Address ผมต้องการให้ไปแสดงผลที่ตารางคอลัมน์ IP และ MAC-Address ตามลำดับ พร้อมกับ คอลัมน์ status ซึ่งจะเป็นข้อความใดๆแล้วแต่ผมจะกำหนด

ขอแนวทางหรือโค๊ดตัวอย่างทำนองนี้ได้ยิ่งดีครับ ขอบอกว่ามือใหม่มากๆครับ ติดมาหลายวันแล้ว ขอบคุณล่วงหน้า



Tag : .NET, C#, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-10-12 17:08:10 By : brainP View : 4908 Reply : 11
 

 

No. 1



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



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

Code (VB.NET)
Dim s As New Stopwatch
s.Start()
Dim PingRe As Boolean = My.Computer.Network.Ping("192.168.1.1", 100)
s.Stop()

Text1.Text=s.Elapsed.ToString


s.Elapsed.จะใช้ ดอทอะไรลองศึกษาดูครับ

ปล.ผมมีแต่ที่ VB นะครับ ไม่ใช C# ลองเอาไปแปลงดู






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-12 17:29:13 By : zarooman
 


 

No. 2



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



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


ก่อนที่ผมจะตอบ เอาหลักการก่อนนะครับ ที่ถามมาอาจจะผิดหลักรึเปล่าไม่แน่ใจ แต่มันก็ทำได้

ที่ถามว่า จะเอาผลลัพธ์จาก cmd ต้องถามก่อนว่าจะรู้ได้ไงว่าเป็น cmd ตัวไหน สมมติหากเปิดขึ้นมา 5 หน้าจอ ถ้าตามหลักแล้วจะตรวจสอบจาก Process ด้วยคำสั่งนี้

Code (C#)
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
{
     Debug.WriteLine(p.Id + ", " + p.ProcessName);
} 


แบบนี้จะทราบว่า มี Process ที่เป็น cmd อยู่กี่อันในระบบ OS

ที่ผมสงสัยคือคุณต้องการดัก Listener Process จริงๆ เหรอครับ เพราะว่าโดยปกติเราจะสั่งเปิด cmd ภายใน C# เอง แล้วดักจับคำสังที่เราระบุตรงๆ เพราะถ้าเราสั่ง cmd ภายใน C# เราจะคุมทุอย่างได้เอง

ยกตัวอย่างแบบที่สั่งผ่าน C#

Code (C#)
private void PingDosProcess()
{
       ProcessStartInfo cmdStartInfo = new ProcessStartInfo();
       cmdStartInfo.FileName = @"C:\Windows\System32\cmd.exe";
       cmdStartInfo.RedirectStandardOutput = true;
       cmdStartInfo.RedirectStandardError = true;
       cmdStartInfo.RedirectStandardInput = true;
       cmdStartInfo.UseShellExecute = false;
       cmdStartInfo.CreateNoWindow = true;

       Process cmdProcess = new Process();
       cmdProcess.StartInfo = cmdStartInfo;
       cmdProcess.ErrorDataReceived += cmd_Error;
       cmdProcess.OutputDataReceived += cmd_DataReceived;
       cmdProcess.EnableRaisingEvents = true;
       cmdProcess.Start();
       cmdProcess.BeginOutputReadLine();
       cmdProcess.BeginErrorReadLine();

       cmdProcess.StandardInput.WriteLine("ping www.google.com");
       cmdProcess.StandardInput.WriteLine("exit");

       cmdProcess.WaitForExit();
}

private void cmd_DataReceived(object sender, DataReceivedEventArgs e)
{
       Debug.WriteLine(e.Data);
}

private void cmd_Error(object sender, DataReceivedEventArgs e)
{
       Debug.WriteLine("Error");
       Debug.WriteLine(e.Data);
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-12 17:49:59 By : gunnermontana
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : gunnermontana เมื่อวันที่ 2014-10-12 17:49:59
รายละเอียดของการตอบ ::

คือโปรแกรมที่ผมทำมันคือโปรแกรมการจำลองการทำงานของเร้าเตอร์ครับ (ถ้าเคยใช้ Packet Tracer ของ Cisco จะคล้ายๆกัน)
mainRoiteform

โดยหากเปิดโปรแกรมขึ้นมาและกดปุ่ม power ก็เปรียบเสมือนเปิดตัวเครื่องเร้าเตอร์ และเราจะไม่ไปPing ผ่านตัวเครื่อง
มันจะคอยตรวจจับเมื่อผู้ใช้ทำการ PING ภายใน cmd และแสดงผลเป็น table อย่างที่ผมได้ระบุไว้

ทีนี้ผมจะใช้ส่วนของ make vitual Wi-Fi เพื่อสร้าง Wi-Fi เสมือน ให้เครื่องที่อยู่ในรัศมีเราเชื่อมต่อกัน และคอยตรวจจับการปิงกันผ่าน cmd ภายในวงเครื่องที่เชื่อมกับเครื่องที่มีโปรแกรมนี้ โดยเราอาจแชร์อินเตอร์เน็ตผ่านไวไฟเสมือนนี้หรือไม่ก็ได้

ทีนี้ค่าที่ผมต้องการคือ IP และ MAC Address ของเครื่องททุกเครื่องี่มาเชื่อมกับเครื่องที่มีโปรแกรมนี้ผ่านไวไฟเสมือนนี้ จะเอามาได้อย่างไร และจะเอาค่า IP ปลายทางที่เครื่องที่เราได้ IP มาแล้วมันปิงหา เช่น คำสั่ง
ping 192.168.0.1 ใน cmd
ไอ้ 192.168.0.1 คือไอพีปลายทาง ผมจะเอามาแสดงเป็นสถานะว่า เครื่องต้นทางกำลังปิงหาไอ้เครื่องปลายทางที่มีไอพีนี้อยู่ในคอลัมน์ Status

สรุป
paramiter ที่ต้องการคือ
1. IP และ MAC Address ทุกเครื่องที่ต่อกับไวไฟเสมือน
2. IP ปลายทางที่เครื่องนั้นๆปิงหา(ต้องอยู่ในวงไวไฟของเร้าเตอร์ตัวนี้เท่านั้น)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-12 19:07:10 By : brainP
 


 

No. 4



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



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


คงต้องเอาไปปรับดูเพราะว่างานคุณจะเน้นแนว Network Programming ด้านล่างเป็นเพียงแค่ตัวช่วยในการหา MacAddress จาก IP Address เท่านั้น งานของคุณ Source Code จะเยอะครับ บางทีอาจต้องใช้ DLLImport ไปเขียน API ของ OS คงต้องศึกษากันยาวครับ

Code (C#)
public class NetworkHelper
{
    private const int PING_TIMEOUT = 1000;

    private static bool IsHostAccessible(string hostNameOrAddress)
    {
        Ping ping = new Ping();
        PingReply reply = ping.Send(hostNameOrAddress, PING_TIMEOUT);
        return reply.Status == IPStatus.Success;
    }

    public static string GetMacAddress(string ipAddress)
    {
        string macAddress = string.Empty;

        if (!IsHostAccessible(ipAddress)) return null;

        try
        {
            string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Windows) + "\\sysnative";
            ProcessStartInfo processStartInfo = new ProcessStartInfo();
            Process process = new Process();

            processStartInfo.FileName = filePath + "\\nbtstat";
            processStartInfo.RedirectStandardInput = false;
            processStartInfo.RedirectStandardOutput = true;
            processStartInfo.Arguments = "-a " + ipAddress;
            processStartInfo.UseShellExecute = false;
            processStartInfo.CreateNoWindow = true;

            process = Process.Start(processStartInfo);

            int counter = -1;

            while (counter <= -1)
            {
                counter = macAddress.Trim().ToLower().IndexOf("mac address", 0);

                if (counter > -1) break;

                macAddress = process.StandardOutput.ReadLine();
            }

            process.WaitForExit();
            macAddress = macAddress.Trim();
        }
        catch (Exception e)
        {
            Console.WriteLine("Error :" + e.ToString());
        }

        return macAddress;
    }            
}


วิธีเรียกก็

Code (C#)
string macAddress = NetworkHelper.GetMacAddress("192.168.x.x");

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-12 20:55:48 By : gunnermontana
 


 

No. 5

Guest


Quote:
คือโปรแกรมที่ผมทำมันคือโปรแกรมการจำลองการทำงานของเร้าเตอร์ครับ (ถ้าเคยใช้ Packet Tracer ของ Cisco จะคล้ายๆกัน)


- ok ถึงแม้ไม่เคยใช้ packet tracer แต่ก็เคยใช้ netsim คือจะทำ simulator ว่างั้น

Quote:
โดยหากเปิดโปรแกรมขึ้นมาและกดปุ่ม power ก็เปรียบเสมือนเปิดตัวเครื่องเร้าเตอร์ และเราจะไม่ไปPing ผ่านตัวเครื่อง
มันจะคอยตรวจจับเมื่อผู้ใช้ทำการ PING ภายใน cmd และแสดงผลเป็น table อย่างที่ผมได้ระบุไว้


- router จริง มันก็ไม่ ping หรอก มันส่ง arp request ไปมันก็ได้ ip กับ mac ทั้งวงแล้ว (ลองสั่ง arp -a ใน cmd ดู)

Quote:
ทีนี้ผมจะใช้ส่วนของ make vitual Wi-Fi เพื่อสร้าง Wi-Fi เสมือน ให้เครื่องที่อยู่ในรัศมีเราเชื่อมต่อกัน และคอยตรวจจับการปิงกันผ่าน cmd ภายในวงเครื่องที่เชื่อมกับเครื่องที่มีโปรแกรมนี้ โดยเราอาจแชร์อินเตอร์เน็ตผ่านไวไฟเสมือนนี้หรือไม่ก็ได้


- หมายถึงสร้าง ap เสมือนขึ้นมาเหรอ อันนี้ไม่ค่อยเข้าใจ วาดเป็น network diagram ดีไหม ว่ามีอะไรต่อกับอะไรบ้าง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-13 09:14:59 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2014-10-13 09:14:59
รายละเอียดของการตอบ ::
www.youtube.com/watch?v=u6lTqoAYiYg
แบบนี้ครับ แล้วถ้าคนมาต่อของเราแล้วมาปิงเฉพาะในวงที่ต่อของเรารวมถึงเครื่องของเราด้วยก็จะตรวจจับและเอาไปแสดงบนตาราง คือจะเอาเฉพาะแค่ฟังก์ชันนี้
เราสามารถหา ip ของคนที่มาต่อของเราได้ใช่มั้ยครับในกรณีแบบนี้ ผมไม่รู้โค็ดที่จะเก็ทมันมา


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-13 12:34:30 By : brainP
 


 

No. 7

Guest


อิอิ ที่ทำงาน block youtube อ่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-13 13:26:50 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 8



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



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


"เราสามารถหา ip ของคนที่มาต่อของเราได้ใช่มั้ยครับในกรณีแบบนี้ ผมไม่รู้โค็ดที่จะเก็ทมันมา"

คือต้องออกตัวก่อนว่า ผมก็ไม่รู้ว่าคุณต้องการอะไรแบบไหนอะนะ ผมแนะนำได้แค่ว่า ถ้าเราต้องการ ip ของคนที่อยู่ในวงเดียวกับเรา ก็ให้ใช้ Source Code ด้านล่างนี้ อาจจะยาวหน่อยนะ

Code (C#)
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.NetworkInformation;
using System.Runtime.InteropServices;

public class NetworkHelper
{
    [StructLayout(LayoutKind.Sequential)]
    private struct MIB_IPNETROW
    {
        [MarshalAs(UnmanagedType.U4)]
        public int dwIndex;
        [MarshalAs(UnmanagedType.U4)]
        public int dwPhysAddrLen;
        [MarshalAs(UnmanagedType.U1)]
        public byte mac0;
        [MarshalAs(UnmanagedType.U1)]
        public byte mac1;
        [MarshalAs(UnmanagedType.U1)]
        public byte mac2;
        [MarshalAs(UnmanagedType.U1)]
        public byte mac3;
        [MarshalAs(UnmanagedType.U1)]
        public byte mac4;
        [MarshalAs(UnmanagedType.U1)]
        public byte mac5;
        [MarshalAs(UnmanagedType.U1)]
        public byte mac6;
        [MarshalAs(UnmanagedType.U1)]
        public byte mac7;
        [MarshalAs(UnmanagedType.U4)]
        public int dwAddr;
        [MarshalAs(UnmanagedType.U4)]
        public int dwType;
    }

    [DllImport("IpHlpApi.dll")]
    [return: MarshalAs(UnmanagedType.U4)]
    private static extern int GetIpNetTable(IntPtr pIpNetTable, [MarshalAs(UnmanagedType.U4)] ref int pdwSize, bool bOrder);

    private const int ERROR_INSUFFICIENT_BUFFER = 122;

    public static Dictionary<IPAddress, PhysicalAddress> GetAllDevicesOnLAN()
    {
        Dictionary<IPAddress, PhysicalAddress> all = new Dictionary<IPAddress, PhysicalAddress>();
            
        all.Add(GetIPAddress(), GetMacAddress());

        int spaceForNetTable = 0;

        GetIpNetTable(IntPtr.Zero, ref spaceForNetTable, false);
            
        IntPtr rawTable = IntPtr.Zero;

        try
        {
            rawTable = Marshal.AllocCoTaskMem(spaceForNetTable);
                
            int errorCode = GetIpNetTable(rawTable, ref spaceForNetTable, false);

            if (errorCode != 0)
            {
                throw new Exception(string.Format("Unable to retrieve network table. Error code {0}", errorCode));
            }
                
            int rowsCount = Marshal.ReadInt32(rawTable);
            IntPtr currentBuffer = new IntPtr(rawTable.ToInt64() + Marshal.SizeOf(typeof(Int32)));
            MIB_IPNETROW[] rows = new MIB_IPNETROW[rowsCount];

            for (int index = 0; index < rowsCount; index++)
            {
                rows[index] = (MIB_IPNETROW)Marshal.PtrToStructure(
                    new IntPtr(currentBuffer.ToInt64() + (index * Marshal.SizeOf(typeof(MIB_IPNETROW)))), typeof(MIB_IPNETROW));
            }
                
            PhysicalAddress virtualMAC = new PhysicalAddress(new byte[] { 0, 0, 0, 0, 0, 0 });
            PhysicalAddress broadcastMAC = new PhysicalAddress(new byte[] { 255, 255, 255, 255, 255, 255 });

            foreach (MIB_IPNETROW row in rows)
            {
                IPAddress ip = new IPAddress(BitConverter.GetBytes(row.dwAddr));
                byte[] rawMAC = new byte[] { row.mac0, row.mac1, row.mac2, row.mac3, row.mac4, row.mac5 };
                PhysicalAddress pa = new PhysicalAddress(rawMAC);

                if (!pa.Equals(virtualMAC) && !pa.Equals(broadcastMAC) && !IsMulticast(ip))
                {
                    if (!all.ContainsKey(ip)) all.Add(ip, pa);
                }
            }
        }
        finally
        {    
            Marshal.FreeCoTaskMem(rawTable);
        }

        return all;
    }

    private static IPAddress GetIPAddress()
    {
        String strHostName = Dns.GetHostName();
        IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
        IPAddress[] addr = ipEntry.AddressList;

        foreach (IPAddress ip in addr)
        {
            if (!ip.IsIPv6LinkLocal) return (ip);
        }

        return addr.Length > 0 ? addr[0] : null;
    }

    private static PhysicalAddress GetMacAddress()
    {
        foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
        {
            if (nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet &&
                nic.OperationalStatus == OperationalStatus.Up)
            {
                return nic.GetPhysicalAddress();
            }
        }

        return null;
    }

    private static bool IsMulticast(IPAddress ip)
    {
        bool result = true;

        if (!ip.IsIPv6Multicast)
        {
            byte highIP = ip.GetAddressBytes()[0];

            if (highIP < 224 || highIP > 239) result = false;
        }

        return result;
    }
}


ถ้าจะเขียน Network Programming ก็ต้องรู้วิชา Distributed Network ทางทฤษฎีด้วย แต่หลักการคงไม่แตกต่างกันมากนัก ส่วน Code ด้านบนเป็นเพียงส่วนเดียว ผมก็เอามาปรับให้แล้วนะครับ สิ่งที่คุณต้องรู้ก็คือ การเรียกใช้ DLLImport การดึง Address จาก Marshal Interop ผมคิดว่าคุณเอา Code ไป ก็ไม่เข้าใจอยู่ดี

ส่วนวิธีใช้งาน (ต้องบอกมั้ยครับ)

Code (C#)
// ฟังก์ชั่นการแปลงรูปแบบ MacAddress อันนี้ก็พื้นๆ เขียน Get Byte ธรรมดา
private string GetMacAddressFormat(PhysicalAddress address)
{
    string macAddress = string.Empty;
    byte[] bytes = address.GetAddressBytes();

    for (int i = 0; i < bytes.Length; i++)
    {
        macAddress += bytes[i].ToString("X2");
                
        if (i != bytes.Length - 1) macAddress += "-";
    }

    return macAddress;
}

// เรียกใช้ ก็ดึงมาปกติ
Dictionary<IPAddress, PhysicalAddress> allDevices = NetworkHelper.GetAllDevicesOnLAN();

foreach (KeyValuePair<IPAddress, PhysicalAddress> device in allDevices)
{
    /*
    // ที่ comment เพราะว่า ผมลองเรียก GetHostEntry เพื่อจะเอาชื่อเครื่องคอมพิวเตอร์ด้วย
    // แต่บางเครื่องก็เรียกไม่ได้ มันมีเหตุผลขอองมันอยู่ ก็เลย catch ไว้ ซึ่งการเรียกแบบนี้จะช้ากว่าแบบไม่เรียกใช้
    try
    {
        IPHostEntry hostEntry = Dns.GetHostEntry(device.Key);
        Debug.WriteLine("IP: {0}, MAC: {1}, Com: {2}", device.Key, GetMacAddressFormat(device.Value), hostEntry.HostName);
    }
    catch
    {
        Debug.WriteLine("IP: {0}, MAC: {1}", device.Key, GetMacAddressFormat(device.Value));
    }
    */

    // ถ้าไม่เรียกอะไรเลย ก็ดึงค่ามาแสดงตรงๆ แบบนี้จะเร็ว
    Debug.WriteLine("IP: {0}, MAC: {1}", device.Key, GetMacAddressFormat(device.Value));
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-13 14:42:12 By : gunnermontana
 


 

No. 9



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



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


จาก www.asp.net

Code
Long Live The Ajax Control Toolkit - Open Source and now maintained by DevExpress


...
...
...
Mehul Harry announces that DevExpress has taken over maintenance of the Ajax Control Toolkit and describes what's in the works.
...
...
...



มันสายเกินไปแล้ว (แต่สำหรับบางคนมันแค่เริ่มต้น)


ปล. เขาบอกว่า อย่าพึ่งหวังอะไรถ้ายังไม่ถึงปี 2015 (ผมหัวเราะ+55555)


ประวัติการแก้ไข
2014-10-13 21:33:08
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-13 21:08:46 By : หน้าฮี
 


 

No. 10



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



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


มันช้าไปแล้วต๋อย


ปล. วันฯมีแต่เบี้ยประชุม/เบี้ยสัมมะนา/ขยันเป็นวิทยากร (บิลเกตต เคือง)


ประวัติการแก้ไข
2014-10-13 21:51:45
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-13 21:49:26 By : หน้าฮี
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : gunnermontana เมื่อวันที่ 2014-10-13 14:42:12
รายละเอียดของการตอบ ::

Marshal Interop นี่มันคืออะไรครับ ไปเจอบทความนี้เข้า

"คำว่า Marshall ใน .NET และภาษา C# มีความหมายสองอย่างคือ

-การแปลง object ให้อยู่ในรูปของ byte ที่เรียงกัน ปรกติจะเป็นข้อมูลแบบ text ในรูปแบบ XML เพื่อการรับ-ส่งตัว object และข้อมูล ไปยังระบบอื่น เช่นบันทึกเป็นไฟล์ลงในดิสก์ หรือส่งไปยังคอมพิวเตอร์เครื่องอื่นในเครือข่าย

-การแปลง COM object (โค้ด native ในสภาพของ DLL แบบ WinAPI/Win32) ให้เป็น object แบบ .NET การแปลงทำได้โดยใช้บริการต่างๆ ที่ .NET เตรียมไว้ให้คือ Platform Invocation Services ที่มักเรียกย่อว่า P/Invoke"

ตามที่ผมเข้าใจ แสดงว่า ค่าต่างๆของพวกข้อมูลระบบของเครื่องๆหนึ่ง เช่น รหัสของพวกฮาร์ดแวร์ต่างๆ, ไฟล์ที่เป็นส่วนของ OS (ข้อมูลระบบปฏิบัติการ หรือถ้าในส่วนของ Network ใน OS จะรวมถึง ข้อมูล protocol,รหัสของการ์ดแลนหรือไวไฟ) ข้อมูลต่างๆเหล่านี้เป็นไฟล์ dll แล้ว dll เป็น โปรแกรมย่อยที่มัคำสั่งเกี่ยวกับการจัดเก็บค่าพวกนี้เหรอครับ จะใช้ c#เก็ท ก็ต้องแปลงเป็น .net อะไรอย่างงี้เหรอครับ งงครับ อธิบายหน่อยครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-14 00:49:55 By : brainP
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถ้าจะใช้ C# การตรวจจับการ PING ใน cmd บน windows จะต้องเรียกใช้ API อะไร หรือมีรูปแบบการเขียนอย่างไรครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่