الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Get MAC Address for Pocket PC

مغلق
بدأه Hadad.Net في 31 يوليو 2007 · 8 رد · 1,423 مشاهدة · في برمجة الشبكات والتطبيقات الموزعة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

لقد احترت في وضع المشاركه إما هنا أو في منتدى الأجهزة الكفيه ولكن بما ان وضعت مشاركتي الأولى هنا فقد قررت وضع التانيه هنا والمشاركه الاولى كانت أحضار الMAC Address والان اريد نفس الشىء ولكن للبوكت بي سي فقد جربت الكود الخاص بالويندوز Application ولم ينفع فأتمنى أن أجد الاجابه من أحد الأعضاء ولقد بحثث بالمنتديات ولم تفلح حتى هذه اللحظه محاولاتي

وجزاكم الله كل خير

#2

اخي العزيز

هل تريد تحويل البرنامج السابق إلى الـPocket PC

ام تريد جلب الـMAC للأجهزة والـPocket ايضا؟

لأنه في الحالة الثانية لا وجود لأي مشكلة لجلب الـMAC للبوكيت بشرط ان تكون WF مفعله به وان يملك ذلك الجهاز IP من DHCP الموجود لديك

#3

شكرا أخ فادي

انا لا اريد الخلط الموضوعين معا ولكن شاء الله ان ياتوا بجانب بعض في قائمة المنتدى ،، فبالنسبه لاحضار ال MAC للكمبيوتر العادي هذه المهمة تمت والحمد لله .

ولكن سوالي الان كيف يمكنني أحضار ال MAC لل Pocket PC او أي Unique Number .

وشكرا ورجائى من قسم برمجه الاجهزة الكفيه التفاعل معنا لانني لا اود وضع نفس الموضوع في قسمين .

#4

أخ فادي لي يومان انتظر ردك بفارغ الصبر

واتمنى انت او احد الاعضاء اعطائي الاجابه ووفقنا الله جميعا

#5

السلام عليكم

اقتباس
ولكن سوالي الان كيف يمكنني أحضار ال MAC لل Pocket PC او أي Unique Number .

اقتباس
السلام عليكم

سبق وأبرزت كيفية الحصول علي بعض المعلومات حول حاسوب الكف بلغة السي والآن أضيف كيفية الحصول على معلومات أخرى بلغة السي شارب.

هذه المعطيات تتمثل في manufacture, model, revision, serial number, subscriber id لحاسوب الكف و تعتمد على الدوال الأصلية التالية:

مكتبة أكواد قسم برمجة الأجهزة الكفية

#6

نسيت بقية السؤال :s

		//--------
		 [DllImport("Ws2.dll")]
		 public static extern int WSAStartup(ushort version, byte[] wsaData);
		 [DllImport("Iphlpapi.dll")]
		 private static extern int SendARP(Int32 dest, Int32 host, byte[] mac,  int length);
		 [DllImport("Ws2.dll")]
		 public static extern Int32 inet_addr(string ip);	
		 //--------
		 private void Form1_Load(object sender, EventArgs e)
		 {   // IP
			 IPHostEntry devName = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName());
			 string IP = devName.AddressList[0].ToString();
			 Int32 ldest = inet_addr(IP);
			 // MAC
			 byte[] aa = new byte[6];
			 IPAddress addrD = IPAddress.Parse(IP);   
			 int len = aa.Length;
			 int r = SendARP((int)addrD.Address, 0, aa, len);
			 string mac = BitConverter.ToString(aa, 0, 6);   
		}
#7

شكراً اخي الكريم سوف اقوم بتجربتها واعطيك النتيجه ان شاء الله

#8

عزيزي Ben_Laiid شكراً لتجاوبك ولكن الكود الذي وضعته بالاعلى يحضر ال IP حسب ال Index وعندما غيرت ال index ظهر معي ال IP's الموجوده على البوكت ولكن ال MAC Address كان يظهر بشكل 00-00-00-00-00-00 ،، لماذا لم اعرف الجواب ونقطه اخرى لقد ظهر ال IP's بالشكل التالي

index 0 = 2002:160c:44b1::160c:44b1

index 1= 169.254.2.1

Index 2 = 22.12.68.177 وهذا هو ال Ip الموجود على البوكت واود أحضار الماك له .

ويرجع السبب بانه لربما يوجد اكتر من Adapter فما هو الحل لجعل المستخدم يختار ال Adapter المطلوب

وشكرا

#9

بالمناسبه عند تطبيق برنامجك تظهر مشكله ونصها هو

The attempted operation is not supported for the type of object referenced

وتظهر في السطر التالي

int r = SendARP((int)addrD.Address, 0, aa, len);

هذا الموضوع مغلق.

مواضيع مشابهة