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

سؤال عن الكود الخاص بالتعرف على الفلاش الميموري

بدأه M4N2NET2000 في 12 مايو 2012 · 9 رد · 668 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ماهو الكود الذي يستطيع التعرف على الفلاش ميموري الذي تم توصيله بالجهاز ؟

ماهو الكود الذي يستطيع التعرف على جهاز الفلاش ميموري الموصل بالجهاز بشكل سريع ؟

#2
          foreach(var item in  System.IO.DriveInfo.GetDrives())
              if (item.DriveType == System.IO.DriveType.Removable)
              {
                  //هذا يعني أن هذا القرص هو فلاش
              }

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#3

السلام عليكم

أخي هل تريد أن يتحسس البرنامج لدخول فلاش ميموري إلى أحد منافذ اليو إس بي

أم فقط تريد أن يقرأ من الفلاش

أم تريد أن تفحص كل أجهزة التخزين المتوفرة وتحدد أنواعها هذه فلاش وتلك قرص ليزري وهكذا

أم ماذا بالضبط.

إن كنت تريد استرجاع الأجهزة فاستخدم تعليمة

string[] AllStoringDrives = Environment.GetLogicalDrives();

والتي تعيد مصفوفة من النوع سترينغ تحمل كل واحدة منها مسار قرص التخزين

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

#4

أخي هذا صنف عملته لاسترجاع الأقراص وأنواعها

	public static class StoringDevices
	{
    	public struct StoreDevice
    	{
        	public string Name;
        	public DriveType Type;
    	}

    	public enum DriveType : int
    	{
        	Unknown,
        	NoRoot,
        	Removable,
        	Localdisk,
        	Network,
        	CD,
        	RAMDrive
    	}

    	[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
    	public static extern DriveType GetDriveType(string lpRootPathName);

    	public static List<StoreDevice> GetStoringDevices()
    	{
        	List<StoreDevice> sdList = new List<StoreDevice>();
        	foreach (string s in Environment.GetLogicalDrives())
        	{
            	StoreDevice sd = new StoreDevice();
            	sd.Name = s;
            	sd.Type=GetDriveType(s);
            	sdList.Add(sd);
        	}
        	return sdList;
    	}
	}

ضعه في برنامجك ثم استخدمه في أي مكان داخل المشروع من خلال السطر التالي :

List<StoringDevices.StoreDevice> AllStoringDrives = StoringDevices.GetStoringDevices();

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

#5
المبرمج أبو أحمد كتب:

أخي هذا صنف عملته لاسترجاع الأقراص وأنواعها

	public static class StoringDevices
	{
    	public struct StoreDevice
    	{
        	public string Name;
        	public DriveType Type;
    	}

    	public enum DriveType : int
    	{
        	Unknown,
        	NoRoot,
        	Removable,
        	Localdisk,
        	Network,
        	CD,
        	RAMDrive
    	}

    	[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
    	public static extern DriveType GetDriveType(string lpRootPathName);

    	public static List<StoreDevice> GetStoringDevices()
    	{
        	List<StoreDevice> sdList = new List<StoreDevice>();
        	foreach (string s in Environment.GetLogicalDrives())
        	{
            	StoreDevice sd = new StoreDevice();
            	sd.Name = s;
            	sd.Type=GetDriveType(s);
            	sdList.Add(sd);
        	}
        	return sdList;
    	}
	}

ضعه في برنامجك ثم استخدمه في أي مكان داخل المشروع من خلال السطر التالي :

List<StoringDevices.StoreDevice> AllStoringDrives = StoringDevices.GetStoringDevices();

ياراجل الله يسامحك, بلاش هاللفة الطويلة, قال وين دانك ياجحا

   System.IO.DriveInfo[] drivers = System.IO.DriveInfo.GetDrives();
            System.IO.DriveInfo[] removalDrivers = Array.FindAll(drivers, s => s.DriveType == System.IO.DriveType.Removable);

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#6
akramKamal كتب:

ياراجل الله يسامحك, بلاش هاللفة الطويلة, قال وين دانك ياجحا

   System.IO.DriveInfo[] drivers = System.IO.DriveInfo.GetDrives();
            System.IO.DriveInfo[] removalDrivers = Array.FindAll(drivers, s => s.DriveType == System.IO.DriveType.Removable);

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

جزاك الله خيرا أخي

كان بالإمكان أن تصلني الرسالة بدون أن تصرح بها

أنا لم أحتج المعلومة من قبل لهذا لم أكن أعرفها

ولما رأيت السؤال اجتهدت بما أعلم ووضعت الإجابة لعل السائل بحاجة إليها

فأكرمنا الله أنا والأخ السائل بأخ طيب أعلم منا بهذه المسألة فاستفدنا منه معلومة جديدة

فجزاك الله خيرا

تم تعديل هذه المشاركة بواسطة المبرمج أبو أحمد في 12 مايو 2012 في 23:52

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

#7

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

ياراجل ما تاخد على خاطرك كتيير, أنا بأحب أجعل الامر مرح فقط

لكن يبدو أنك لم ترى انني قد أجبت بنفس الكود مرتين مرة قبل ردك ومرة بعد ردك

بالتوفيق ان شاء الله

تحياتي

قولوا لا اله الا الله تفلحوا

ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم

#8
akramKamal كتب:

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

ياراجل ما تاخد على خاطرك كتيير, أنا بأحب أجعل الامر مرح فقط

لكن يبدو أنك لم ترى انني قد أجبت بنفس الكود مرتين مرة قبل ردك ومرة بعد ردك

بالتوفيق ان شاء الله

تحياتي

صدقت أخي

عندما وضعت الرد لم أحدث الصفحة فلم أنتبه لردك الأول

وحياك الله أخا عزيزا

smile.gif

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

#9

ماشاء الله تبارك الله

أشكر جميع من ساهم في هذا الموضوع

آسف اذا شرح السؤال مو كافي

المطلوب بالضبط هو أن يتحسس البرنامج لدخول الفلاش ميموري إلى أحد منافذ اليو اس بي

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

أو أن يتم نسخ ملفات معينة مثل ملفات البوربوينت فقط

أود أن أشكر الجميع على التفاعل

#10

كحل مبدئي يمكنك عند تشغيل البرنامج أن تحفظ الأجهزة الموجودة

وأن تقوم بعملية فحظ كل مدة عن طريق تايمر وتقارن النتيجة مع آخر عملية مسح فإن وجدت جهاز جديد ونوعه فلاش فهذا يعني أنه تم إدخال فلاش ميموري وحينها تقوم بما تريد

طبعا يوجد حلول أخرى من خلال رسائل الويندوز التي تقوم بإخطار النظام عن إدخال جهاز يو إس بي جديد ومثم التعرف عليه

إلا إذا كان هناك مكتبة أو أدوات تخدم في هذه الناحية فلا أعلمها

وإن علمتها سأضعها إن شاء الله

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…