تقييم الموضوع :
  • 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 ك ب / التحميلات : 21)
الرد
#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
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] طريقة ربط التكست بالداتا جريد فيو ابو يوسف 4 2,030 منذ 7 ساعة مضت
آخر رد: هاني هاني
  [VB.NET] طريقة الطباعة على وجهين لبطاقة موظف Ad Heart 0 32 , 02:47 AM
آخر رد: Ad Heart
  مشكلة عند تنصيب البرنامج للعميل تظهر الرسالة هده Alanwalker 9 227 22-10-20, 11:20 PM
آخر رد: kiki
  [سؤال] ممكن طريقة تشفير اداة لعدم سرقتها jam3h 3 196 14-10-20, 11:20 AM
آخر رد: jam3h
  [VB.NET] طريقة نقل شاشة مشغل vlc ميدو الفنان 2 115 13-10-20, 10:08 PM
آخر رد: ميدو الفنان
  طريقة تشغيل الكريستال ريبورت على جهاز العميل ! ZaerAllail 6 270 12-10-20, 04:02 AM
آخر رد: ZaerAllail
  كيف أضيف مجموعة من الـ My.Setting مرة واحدة باسم واحد مع تغير اخر رقم ؟ PeterGhattas082460 4 181 11-10-20, 11:02 PM
آخر رد: abdou
  [VB.NET] نقل الخطوط مع البرنامج ميدو الفنان 9 301 10-10-20, 10:15 PM
آخر رد: ميدو الفنان
  طريقة تحديد مقاس الصورة في Datagridview aliraqi 3 186 09-10-20, 10:14 AM
آخر رد: aliraqi
  مساعدة بخصوص تنفيد البرنامج بعد تحزيمه ببرنامج Advanced Installer ٍOfelas 20 462 06-10-20, 10:54 PM
آخر رد: ٍOfelas

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


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