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

نسخة كاملة : جلب السيريال الخاص بكل Volume علي حده ....
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاتة

اسعد الله اوقاتكم ايها الاخوة

أثناء تجوالي علي الانترنت وجدت مثال يجلب السيريال الخاص بكل Volume علي حده .... قم بكتابة الــ Volume المطلوب ثم اضغط علي Volume Serial

سيقوم المثال بجلب السيرال للــ Volume المختار

المطلوب ان هذا المثال بدون السورس كود نرجو منكم المساعدة في كودات هذا المثال
بواسطة فيجوال 2008
ولكم كل الشكر
فى المرفقات
السورس كود للبرنامج الذى وضعته انت

الكود ليس من اختراعى ولكن كل ماعملته هو استخراج الاكواد من الملف الذى ارفقته انت

بالتوفيق إن شاء الله[attachment=462]
كيف استخرجت الأكواد أخي الكريم؟
لك كل الشكر اخي العزيزlearning.net على هذة المشاركة وحقا هذا هو المطلوب

ونرجو منك ما يلي
تحويل هذا المثال الى فيجوال 2008
وتانيا هل هناك طريقة سهلة للاستخراج الاكواد من الامثلة التنفيذية

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

اخى nmst70
للاسف ليس عندى فيجوال ستوديو 2008
ولكن يمكنك عمل الاتى:-

إبدأ مشروع جديد ثم اضف الاتى على الفورم:-

TextBox1
TextBox2
Button1

ثم ضع هذا الكود فى الفورم
PHP كود :
Imports System.Runtime.InteropServices
Imports System
.Text

Public Class Form1

    
<DllImport("kernel32.dll")> _
    
Private Shared Function GetVolumeInformation(ByVal PathName As String_
                                                 ByVal VolumeNameBuffer 
As StringBuilder_
                                                 ByVal VolumeNameSize 
As UInteger_
                                                 ByRef VolumeSerialNumber 
As UInteger_
                                                 ByRef MaximumComponentLength 
As UInteger_
                                                 ByRef FileSystemFlags 
As UInteger_
   ByVal FileSystemNameBuffer 
As StringBuilderByVal FileSystemNameSize As UInteger) As Long
    End 
Function

    Public Function 
GetVolumeSerial(ByVal strDriveLetter As String) As String
        Dim serNum 
As UInteger 0UI
        Dim maxCompLen 
As UInteger 0UI
        Dim VolLabel 
As New StringBuilder(256)
        
Dim VolFlags As UInteger 0UI
        Dim FSName 
As New StringBuilder(256)
        
strDriveLetter += ":\"
        Dim Ret As Long = GetVolumeInformation(strDriveLetter, VolLabel, _
                                               CType(VolLabel.Capacity(), UInteger), _
                                               serNum, maxCompLen, VolFlags, _
         FSName, CType(FSName.Capacity(), UInteger))
        Return Convert.ToString(serNum)
    End Function

End Class 
وفى حدث الضغط على Button1 ضع هذا الكود

PHP كود :
TextBox2.Text = (GetVolumeSerial(TextBox1.Text())) 
وجرب البرنامج

اما بالنسبه لاستخراج الاكواد فانا استعملت برنامج ILSpy وهو مجانى ويمكنك تنزيله من هنا
وهو يتعامل مع ملفات ال exe و ال dll المصنوعه بلغة ال .net
وطبعا هو بيطلع الاكواد ولكن فى بعض الاحيان بيكون فيها بعض الاخطاء لازم انت اللى تعدلها.
ويمكنك تجربته بنفسك .... يعنى اعمل برنامج وبعد كده افتح الملف ال exe فى برنامج ال ILSpy ستجد اكوادك موجوده امامك كما كتبتها. وللعلم التعامل معه سهل جدا (جرب بنفسك)
ويوجد برامج كثيره تقوم بعمل Reflection لاظهار الاكواد اشهرهم على ما اعتقد NET Reflection.
(لللعلم:- انا لست خبير فى ال Reflection)

هذا والله اعلى واعلم

وبالتوفيق إن شاء الله
اشكرك كل الشكر اخي العزيزlearning.net على هذة المشاركة الجميلة
وتم عمل مثال كما افدت وكانت النتيجة صحيحة 100%

كما اشكرك على برامج الفك






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