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

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

اخواني كل شخص اكيد يريد حماية برنامج.. وطبعا لا توجد حماية كامله لكن نحن نحاول لتصعيب الامر فقط
،، فعندي طريقة لم استطع تحليلها الى كود وهي ان يعمل البرنامج برقم المعالج للجهاز
كما نعرف انا لكل معالج في الجهاز رقم id خاص ،، فكيف نجعل البرنامج يقوم بهذه الاوامر ،،،

[color="#ff0000"]عند فتح الفورم يبحث عن رقم المعالج اذا تطابق مثل ما كتبنا رقمه يقوم بفتحه واذا لم يطابق لا يفتح ..
لكن المشكلة هنا كيف اجعله يستخرج رقم المعالج ؟[/color]
تفضل اخى

كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
        On Error Resume Next
        Dim computer As String = "."
        Dim wmi As Object = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & computer & "\root\cimv2")
        Dim processors As Object = wmi.ExecQuery("Select * from " & "Win32_Processor")

        Dim cpu_ids As String = ""
        For Each cpu As Object In processors
            cpu_ids = cpu.ProcessorId
            MsgBox("رقم المعالج : " & cpu_ids & "", MsgBoxStyle.Information)
        Next

        If cpu_ids = "BFEBFBFF00020655" Then
            Form2.Show()
            Me.Hide()
        Else
            MsgBox("هذه النسخة ليست مرخصة لك", MsgBoxStyle.Critical)
            End
        End If
    End Sub
بارك الله فيك اخي الكريم على اجابتك الوافية والسريعة
just.coder كتب :تفضل اخى

كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
        On Error Resume Next
        Dim computer As String = "."
        Dim wmi As Object = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & computer & "\root\cimv2")
        Dim processors As Object = wmi.ExecQuery("Select * from " & "Win32_Processor")

        Dim cpu_ids As String = ""
        For Each cpu As Object In processors
            cpu_ids = cpu.ProcessorId
            MsgBox("رقم المعالج : " & cpu_ids & "", MsgBoxStyle.Information)
        Next

        If cpu_ids = "BFEBFBFF00020655" Then
            Form2.Show()
            Me.Hide()
        Else
            MsgBox("هذه النسخة ليست مرخصة لك", MsgBoxStyle.Critical)
            End
        End If
    End Sub



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

لو تضع مثال او تشرح لنا كيف نعمل الكود بمثال ؟
توجد طريقة اخرى تعرض رقم الهارد ديسك .. تعلمتها من خلال هذا المنتدى .. سأرسل لحضرتك الكود .. لاحقا
سامي نت كتب :اخوي طبقت الكود ولم يعمل معي ممكن توضح كيف استفد من الكود بارك الله فيك

لو تضع مثال او تشرح لنا كيف نعمل الكود بمثال ؟

ماهي المشكلة التي ظهرت عندك ؟؟ ،، انا اشتغلت معي ،،
المهم لما يستخرج رقم المعالج فين يحفظه؟
لاتقول بنفس الجهاز او الريجستري.
وانما الافضل من وجهة نظري بخادم على الانترنت ولا تستخدم on error resume next بل استخدم try حتى لو واجه اي خطا يتم تسليم رسالة معينة بدل من ان يتخطى ويقوم بتشغيل البرنامج
shado1796 كتب :ماهي المشكلة التي ظهرت عندك ؟؟ ،، انا اشتغلت معي ،،

ما ظهر اي مشكله عندي مثل لو بشغل فورم ولا يحتوي على اي كود
يعني اشغل المشروع بعد وضع الكود جوا الفورم رقم 1
ووضعت فورم رقم 2 وبعد تشغيل المشروع
لايوجد اي خطأ بس مو عارف كيف استفيد من الكود