تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] طريقة تثبيت البرنامج في حاسوب واحد
#1
السلام عليكم

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

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



عند الضعط ok يظهر الفورم التالي يجلب كل المعلومات العميل كما في الصورة




و بعد اجراء معادلة اقوم بوضع اجلب كود التفعيل ويتم وضعه في التكست بوكس والضعظ على زر التفعيل
فتظهر رسالة صح



المطلوب الان يا اخوتي

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

و هذا الكود بجلب المعلومات الخاصة بالجهاز


Imports System.Management
Imports Microsoft.Win32
Imports System.Security.AccessControl
Public Class Form11

    Private Sub Form11_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        TxtWindows.Text = My.Computer.Info.OSFullName
        TxtNamepc.Text = System.Environment.MachineName
        Txtlangpc.Text = My.Computer.Info.InstalledUICulture.EnglishName
        Dim cmicWmi As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive")
        Dim diskid As String 'DigitalID
        Dim diskserialnumber As String ' this is we will call it the serial number for the time being
        Dim diskmodel As String ' serial unmber

        For Each cmicWmiobj As Managementobject In cmicWmi.get
            diskid = cmicWmiobj("signature")
            diskserialnumber = cmicWmiobj("serialnumber")
            diskmodel = cmicWmiobj("model")
        Next
        Dim x As String
        Txtharddiskserial.Text = diskserialnumber
        Txtserial.Text = diskid
        Txt4.Text = Val(Txtserial.Text) * 13 + 1225 - 1650

        x = Txtharddiskserial.Text
        Dim activekey As RegistryKey
        activekey = Registry.LocalMachine.OpenSubKey("SOFTWARE", True)
        activekey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Progtest", True)
        If activekey Is Nothing Then
            activekey = Registry.LocalMachine.OpenSubKey("SOFTWARE", True)
            activekey.CreateSubKey("Progtest")

            activekey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Progtest", True)
            activekey.SetValue("System_Key", x)
            activekey.Close()

        End If




    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If Txtnumbercactivate.Text = Txt4.Text Then
            MsgBox("نمت عملية تفعيل البرنامج بنجاح")
            ''My.Settings.isActive = True
            'My.Settings.Save()
        Else
            MsgBox("رقم التفعيل الذي ادخلته غير صحيح الرجاء التاكد")
            Application.Exit()
        End If

    End Sub
End Class


هذا الكود الخاص برسالة تاكيد التقعيل

Imports Microsoft.Win32
Public Class StartForm1
    Public Function check_key() As String
        Try
            Dim checkkey As registrykey
            Dim CK_Key As String
            checkkey = Registry.LocalMachine.OpenSubKey("SOFTWARE\FoxSoftware", True)
            CK_Key = checkkey.getvalue("System_Key")
            Return CK_Key


        Catch ex As Exception
            Return ""
        End Try
    End Function
    Private Sub StartForm1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim x As String
        x = check_key()
        If x = String.Empty Then
            MsgBox(" Need Active")
            Form11.ShowDialog()
        Else
            MsgBox("مرحبا بك")
        End If
الرد }}}
تم الشكر بواسطة: حريف برمجة , حريف برمجة
#2
اجعل التفعيل عن طريق متغير في Setting
Don't Be The Perfect one
be the right one
الرد }}}
تم الشكر بواسطة: rochdi191 , essawq , essawq , حريف برمجة
#3
(16-07-20, 03:28 AM)boudyonline كتب : اجعل التفعيل عن طريق متغير في Setting

هل من مثال اخي boudyonline
جزاك الله خيرا اخي
الرد }}}
تم الشكر بواسطة: essawq , essawq , حريف برمجة , حريف برمجة
#4
(16-07-20, 04:21 PM)rochdi191 كتب :
(16-07-20, 03:28 AM)boudyonline كتب : اجعل التفعيل عن طريق متغير في Setting

هل من مثال اخي boudyonline
جزاك الله خيرا اخي

تفضل اخي تابع هنا
http://vb4arb.com/vb/showthread.php?tid=35445&page=3
لكن الطريقة تختلف لتفعيل البرنامج ومن السيتنق
تحياتي لك
الرد }}}
تم الشكر بواسطة: حريف برمجة
#5
ببساطة بعد تفعيل البرنامج مباشرة تخزين قيمة في settings

وعند تشغيل البرنامج يستعلم عن القيمة تم التفعيل أو لا ،، وبناء على النتيجة تظهر الفورم المطلوبة .
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
تم الشكر بواسطة: essawq , rochdi191
#6
حياك الله اخي الكريم
بالبداية انا لست دكتور او حتى مهندس
بعد تفعيل البرنامج نحن قمنا بتخزين رقم التفعيل في الريجيستري
يمكننا بعد ذلك وفي حدث اللود للشاشة ان نقوم بالبحث عن رقم
التفعيل حسب المسار الذي قمنا به بتفعيل البرنامج فاذا كان الملف
موجود فهذا يعني ان البرنامج قد تم تفعيله من قبل ونظهر له شاشة
تسجيل الدخول مثلا اما اذا كان الرقم غير موجود  بالريجستري فهذا
يعني ان البرنامج غير مفعل ونظهر له شاشة التفعيل

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

كود :
Public Function check_Key() As String
       Try
           Dim Checkkey As RegistryKey
           Dim CK_Key As String
           Checkkey = Registry.LocalMachine.OpenSubKey("SOFTWARE\FoxSoftware", True)
           CK_Key = Checkkey.GetValue("System_key")
           Return CK_Key
       Catch ex As Exception
           Return ""
       End Try
   End Function
وبعد ذلك نقوم بحدث اللود للشاشة الرئيسية
كود :
  Dim x As String
       x = check_Key()
       If x = String.Empty Then
           MsgBox(" need active")
           Form1.ShowDialog()
       Else
           MsgBox(" مرحبا بك ")
       End If
وهذا السورس كود يمكن ان يساعدك


الملفات المرفقة
.zip   Serial Number Ver.zip (الحجم : 183.63 ك ب / التحميلات : 36)
الرد }}}
#7
(16-07-20, 07:59 PM)aljzazy كتب :
حياك الله اخي الكريم
بالبداية انا لست دكتور او حتى مهندس
بعد تفعيل البرنامج نحن قمنا بتخزين رقم التفعيل في الريجيستري
يمكننا بعد ذلك وفي حدث اللود للشاشة ان نقوم بالبحث عن رقم
التفعيل حسب المسار الذي قمنا به بتفعيل البرنامج فاذا كان الملف
موجود فهذا يعني ان البرنامج قد تم تفعيله من قبل ونظهر له شاشة
تسجيل الدخول مثلا اما اذا كان الرقم غير موجود  بالريجستري فهذا
يعني ان البرنامج غير مفعل ونظهر له شاشة التفعيل

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

كود :
Public Function check_Key() As String
       Try
           Dim Checkkey As RegistryKey
           Dim CK_Key As String
           Checkkey = Registry.LocalMachine.OpenSubKey("SOFTWARE\FoxSoftware", True)
           CK_Key = Checkkey.GetValue("System_key")
           Return CK_Key
       Catch ex As Exception
           Return ""
       End Try
   End Function
وبعد ذلك نقوم بحدث اللود للشاشة الرئيسية
كود :
  Dim x As String
       x = check_Key()
       If x = String.Empty Then
           MsgBox(" need active")
           Form1.ShowDialog()
       Else
           MsgBox(" مرحبا بك ")
       End If
وهذا السورس كود يمكن ان يساعدك

شكرا جزيلا يا دكتور اشكرك على تواضعك
لقد قمت بالعملية نفسها يا استاذ وقمت جعل البرنامج يثبت على نسخة exe وبعد تثبيته يطلب منك التفعيل لكن عند غلق و فتح مرة اخرى يطلب مني اعادة التفعيل
الرد }}}
تم الشكر بواسطة:
#8
اذا كان لديك برنامج any desk يمكن المساعدة
الرد }}}
تم الشكر بواسطة: rochdi191
#9
(16-07-20, 09:12 PM)aljzazy كتب : اذا كان لديك برنامج any desk يمكن المساعدة

نعم لدي يا استاذ
جاري الاتصال بك على الخاص
الرد }}}
تم الشكر بواسطة: essawq
#10
جزاك الله خيرا استاذ aljzazy على المساعدة تم حل المشكل بفضل الله ثم الاستاذ aljzazy
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 601 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 149 12-03-24, 10:37 AM
آخر رد: strongriseman
  محتاج طريقة لتنسيق نص الرسالة المرسلة إلى الواتس اب new_programer 2 163 04-03-24, 07:15 AM
آخر رد: new_programer
  محتاج تشفير فيديو وتشغلية عن طريق البرنامج فقط new_programer 1 112 22-02-24, 12:09 PM
آخر رد: AHMED213
  طريقة اجراء نسخة احتياطية و استرجاعها ؟ Osama NY 2 462 07-02-24, 08:59 PM
آخر رد: Kamil
  مطلوب كود الطباعة لهذا البرنامج melad2002 2 234 13-01-24, 06:42 PM
آخر رد: melad2002
  مشكلة تعليق البرنامج في حال عدم وجود ماسح ضوئي متصل بالكمبيوتر صالح عبدالله 1 210 09-01-24, 10:51 PM
آخر رد: صالح عبدالله
  ماهي طريقة نقل محتويات checkedlistbox الى داتاقريدفيو صالح عبدالله 3 253 06-01-24, 03:20 PM
آخر رد: Kamil
  كيف ارسل مجموع 3 تكست بوكس إلى واحد بالترتيب ؟ أبووسم 3 330 18-12-23, 05:17 PM
آخر رد: أبووسم
  [VB.NET] ما هي طريقة استدعاء الازرار في الكيبورد من خلار زر افتراضي haider.mohsin92 1 295 14-12-23, 03:19 PM
آخر رد: Kamil

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم