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

نسخة كاملة : هل يمكن ان يتشابة ارقام معالج مع اخر
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
قمت بعمل برنامجه يعتمد علي استخراج رقم المعالج لجهاز بحيث لايعمل الا علي هذا الجهاز وعملت كريبت للرقم ومن ثم ديكريبت ومقارنة
في غالب الاجهزه يعمل هذا جيدا ولا يعمل البرنامج الابكود تفعيل مختلف.لكن وجدت ان البرنامج يعمل بكود تفعيل واحد علي بعض الاجهزه القديمة والتي تحمل وندوز اكس بي
ما المشكلة
رقم المعالج لا يتكرر
نعم تتكرر.
(20-05-19, 01:02 AM)makky كتب : [ -> ]قمت بعمل برنامجه يعتمد علي استخراج رقم المعالج لجهاز بحيث لايعمل الا علي هذا الجهاز وعملت كريبت للرقم ومن ثم ديكريبت ومقارنة
في غالب الاجهزه يعمل هذا جيدا ولا يعمل البرنامج الابكود تفعيل مختلف.لكن وجدت ان البرنامج يعمل بكود تفعيل واحد علي بعض الاجهزه القديمة والتي تحمل وندوز اكس بي
ما المشكلة

اللي اعرفه انه لالالا يتكرر سواء المعالجات او اللوحه الام او الهارديسكات
وقد يكون الكود الذي تستخدمه مع الاكس بي يعود بنتيجه (لاشيء) فتظن ان هناك تكرار
تاكد من الكود الخاص بالاكس بي! هل فعلا يعود بقيمه او لا!


(26-05-19, 12:46 AM)أبوبكر سويدان كتب : [ -> ]نعم تتكرر.

كلام كبير المطورين الاستاذ ابو بكر اربك معلوماتي! لكن سانتظر منه توضيح او رابط موثوق
السلام عليكم ورحمة الله وبركاته
من حيث المنطق لو ان لدي شركة تنتج المعالجات فحتما كل معالج سيأخذ رقما فريدا غير مكرر لنفس النوع من المعالجات مثلا جيل INTEL i5 وعند ما أقوم بانتاج معالج أحدث مثلا جيل intel I7 هنا اضع ارقاما تسلسلية جديدة وستتساوى مع الارقام التسلسلية لمعالجات حبل i5 السابقة
لكن سيختلف الاسم  ولو قمت بانتاج معالج جيل i7 ولكن بسرعة مختلفة قد الجأ الى ترقيم جديد او يمكنني المتابعة على ارقام I7 السابقة وهنا اذا تكرر الرقم ستختلف السرعة ..
شيئ أخر وهو الاحتمال الاكثر ورودا وهو فمت بانتاج معالج I7 وفق ارقام تسلسبية ثم اعطيت حق انتاج المعالح في دولة اخرى فعلى الاغلب سيتكرر رقم المعالج لكن ربما تضع الشركة رمزا على أن هذا المعالج من انتاج شركة اخذت امتيازا بانتاج هذا المعالج
والخلاصة هي كيف يتم جلب رقم المعالج؟ هل هو فقط الرقم التسلسلي؟ ام انه مضاف اليه رموز اخرى
 كالنوع والسرعة والمنشأ ؟
وهل دالة جلب الرقم التسلسلي تجلب الرقم فقط ام بمكن جلب كل المعلومات؟
نتمنى ممن لديه الخبرة افادتنا
شيئ آخر مهم وهو اننا نجلب رقم المعالج لحمابة برنامجنا وبما ان رقم المعالج ربما يتكرر لذلك سنضع شرطا أخر وهو رقم اللوحة الام وبهذا لن يتكرر الرقم 
وان تكرر الرقم للمعالج وهو احتمال فمن المستبحيل تكرار رقم اللوحة الام والمعالج معا
ارجو ان اكون قد افدتكم 
رمضان كريم دمتم بخير
السّلام عليكم و رحمة الله و بركاته
أخي الحبيب الغالي " إبراهيم إيبو "
لو سمحت و سمحت ظروفك .. و لما يكون لديك الوقت الكافي
الرجاء التكرم بمثال صغير لمعرفة كيف يتم لمْ الشمل بين الإثنين ..
كود :
وبما ان رقم المعالج ربما يتكرر لذلك سنضع شرطا أخر وهو رقم اللوحة الام وبهذا لن يتكرر الرقم

بارك الله فيك و لك مقدما و جزاك خير الجزاء
تحياتي
كود جلب السيريال الخاص بالمذر بورد :

PHP كود :
Dim query As String "Select SerialNumber From Win32_BaseBoard"
 
       Using mbs As ManagementObjectSearcher = New ManagementObjectSearcher(query)
 
           For Each mo As ManagementObject In mbs.Get
                For Each pd 
As PropertyData In mo.Properties
                    
' should be only one'
 
                   If pd.Name "SerialNumber" Then
                        
' value is object, test for Nothing'
 
                       If pd.Value IsNot Nothing Then
                            TextBox1
.Text pd.Value.ToString
                        End 
If
 
                       Exit For
 
                   End If
 
               Next
            Next
        End Using 
اللي خلاني اسئل السؤال ده اني فعلا لقيت في تشابه وكانوا 3 اجهزه من النوع القديم جدا عليهم وندوز xp
المهم قمت باستخدام الماك ادريس.لكن المشكلة كانت ان ممكن بعض الاجهزة القديمه لايوجد بها كارت نت وبالتالي مفيش ماك ادرس
واستخدمت برضه سيريل المازربورد وبعد البحث كان افضل حل استخدام سيريل الهارد ديسك عن طريق استخدام WMI  windows management instrumentation
والحمد لله تم حل المشكله
شكرا لاستاذتي واصدقائ وكل سنة وانتوا طيبيب
تسلم أخي الكريم عاصم .. الكود فعلا يجلب الرقم بالشكل المطلوب و الصحيح بدون أي إلتباسات .. بارك الله فيك و لك و جزاك خير الجزاء إن شاء الله
السلام عليكم ورحمة الله وبركاته اخوتي الكرام
هذا برنامج صغير يقوم بجلب ارقام البورد والمعالج والهارد
وفيه التحقق من الهارد والبورد ويمكن اضافة التحقق من رقم المعالج بحيث يصبخ الشرط ثلاثي
كما يمكن تغيير الشروظ حسب الرغبة
---------------------------------
اخوتي هناك بعض من الخطأ في كود التحقق لان البرنامج عملته منذ فترة
ولاحظت الان تلك الهفوات لذلك سأضع الكود كاملا
كود :
Imports System.Management
Public Class Form1
   Private Sub Btn_HdNumber_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_HdNumber.Click
       ' جلب رقم الهارد ديسك
       Dim hd As New ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive")
       For Each dvs As ManagementObject In hd.Get()
           Dim serial As String = dvs("SerialNumber").ToString
           TextBox1.Text = serial.Trim
       Next
   End Sub

   Dim Activat As Boolean
   ' للتحقق من التفعيل
   Private Sub Test_Activation()
       Dim HD As String = "W -DXW4E806N6483" ' هذا رقم هاردي
       Dim MBR As String = ".6ZH4S3J.CN7016686A0BQC." ' هذا رقم البورد عندي
       If TextBox1.Text.Trim <> HD Or TextBox3.Text.Trim <> MBR Then
           MsgBox("غير مصرح لك باستخدام البرنامج على هذا الجهاز", MsgBoxStyle.Critical, "تحذير")
           Exit Sub
           Activat = False
       Else
           MessageBox.Show("هذه النسخة مرخصة")
           Activat = True
       End If
   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       'فحص التفعيل
       Call Test_Activation()
       'Call Test_Processor()
       TextBox4.Text = Activat
   End Sub

   Private Sub btn_proccess_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_proccess.Click
       Dim MOS_PR As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
       Dim mo_PR As ManagementObject
       For Each mo_PR In MOS_PR.Get()
           TextBox2.Text = mo_PR("ProcessorId").ToString()
       Next
   End Sub
   'جلب رقم المازربورد
   Function GetMotherboardSerialNumber() As String
       ' نقوم بإنشاء العنصر
       ' ManagementObjectSearcher
       ' وهو الذي سوف يقوم باحتواء جملة الاستعلام وبتنفيذها
       ' لاحظ أنه يمكنك استخدام العلامة
       ' *
       ' للحصول على جميع الأعمدة
       ' Properties
       ' في الجدول
       ' Class
       ' الذي يحوي بيانات الماذربورد وهو
       ' Win32_BaseBoard
       Dim searcher As New ManagementObjectSearcher("SELECT SerialNumber, Product FROM Win32_BaseBoard")
       ' تنفيذ الأمر
       ' يحوي العنصر
       ' ManagementObjectCollection
       ' جميع البيانات المسترجعة من الاستعلام

       ' والتي تتمثل في هيئة صفوف
       ' Objects
       Dim information As ManagementObjectCollection = searcher.Get()
       Dim serialNumber As String = String.Empty
       ' المرور على جميع الصفوف
       ' لأنها ماذربورد واحدة فسوف يكون هناك صف واحد
       For Each obj As ManagementObject In information
           ' الاستعلام عن العمود
           ' SerialNumber
           ' إذا لم يحوي بيانات
           ' يتم استخدام العمود
           ' Product
           ' كبديل
           If (obj.Properties("SerialNumber").Value.ToString().Trim() <> String.Empty) Then
               serialNumber = obj.Properties("SerialNumber").Value.ToString().Trim()
           Else
               serialNumber = obj.Properties("Product").Value.ToString().Trim()
           End If
           ' لا توجد فائدة للسطر التالي لأنها ماذربورد واحدة
           Exit For
       Next
       ' يفضل استخدام الدالة
       ' Dispose
       ' لإلغاء العنصر
       ' ManagementObjectCollection
       ' من الذاكرة
       searcher.Dispose()
       Return serialNumber
   End Function

   Private Sub Btn_Board_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Board.Click
       TextBox3.Text = GetMotherboardSerialNumber().Trim

   End Sub


End Class
الصفحات : 1 2