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

نسخة كاملة : طريقة حماية البرنامج برقم المعالج
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4 5 6 7 8
(22-02-16, 09:12 PM)السيد الغالي كتب : [ -> ]الاخت layan2000  
الاخ عبد العزيز
السلام علكم
ماذا عساني ان اقول بحقكم على تلك الكلمات الرائعة التي اخذت مأخذها في وجداني . فشكرا لكما .
واسمحوا لي اخوتي الاعزاء ان اقدم ما كتبتموه بحقي متواضعا وعلى طبق من ذهب الى زميلاي وصديقاي العزيزين الاستاذ احمد منصور والاستاذ احمد عبد العليم لجهودهم  المتواصله في خدمة هذا الصرح المبارك .
اما بخصوص تسائل الاخت layan2000
وهي لو قمت بالتسجيل على الجهاز رقم 1 وبعد التفعيل وعمل البرنامج قمت بنسخ الرقم الموجود بقاعدة البيانات ولصقة في الجهاز رقم 2 في قاعدة البيانات وتشغيل البرنامج
هل سيعمل او يطلب التفعيل ؟؟
الجواب نعم سيطلب منك التفعيل لان رقم المعالج يختلف بين الجهازين وان الرقم الموجود في قاعدة بيانات الجهاز رقم 1 هو رقم المعالج الخاص به

السلام عليكم اخوانى الكرام 
هل من الممكن ان اجد شرح لهذة الاكواد بلغة سى شارب c# جزاكم الله خيرا
(26-03-21, 07:38 AM)omar5 كتب : [ -> ]
(22-02-16, 09:12 PM)السيد الغالي كتب : [ -> ]الاخت layan2000  
الاخ عبد العزيز
السلام علكم
ماذا عساني ان اقول بحقكم على تلك الكلمات الرائعة التي اخذت مأخذها في وجداني . فشكرا لكما .
واسمحوا لي اخوتي الاعزاء ان اقدم ما كتبتموه بحقي متواضعا وعلى طبق من ذهب الى زميلاي وصديقاي العزيزين الاستاذ احمد منصور والاستاذ احمد عبد العليم لجهودهم  المتواصله في خدمة هذا الصرح المبارك .
اما بخصوص تسائل الاخت layan2000
وهي لو قمت بالتسجيل على الجهاز رقم 1 وبعد التفعيل وعمل البرنامج قمت بنسخ الرقم الموجود بقاعدة البيانات ولصقة في الجهاز رقم 2 في قاعدة البيانات وتشغيل البرنامج
هل سيعمل او يطلب التفعيل ؟؟
الجواب نعم سيطلب منك التفعيل لان رقم المعالج يختلف بين الجهازين وان الرقم الموجود في قاعدة بيانات الجهاز رقم 1 هو رقم المعالج الخاص به

السلام عليكم اخوانى الكرام 
هل من الممكن ان اجد شرح لهذة الاكواد بلغة سى شارب c# جزاكم الله خيرا
اخواني افضل طريقة للحماية شرحها المهندس عثمان خورشيد في فيديو خاص على قناته في اليوتوب 
استفيدو منها
كود :
Option Explicit

Private Declare Function GetVolumeInformationA Lib "kernel32" _
   Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
   ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
   lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
   lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
   ByVal nFileSystemNameSize As Long) As Long

Private Declare Function GetProcessorInfo Lib "kernel32" _
   Alias "GetSystemInfo" (lpSystemInfo As SYSTEM_INFO) As Long

Private Type SYSTEM_INFO
   dwOemID As Long
   dwPageSize As Long
   lpMinimumApplicationAddress As Long
   lpMaximumApplicationAddress As Long
   dwActiveProcessorMask As Long
   dwNumberOfProcessors As Long
   dwProcessorType As Long
   dwAllocationGranularity As Long
   dwReserved As Long
End Type

Private Sub Form_Load()
   Dim processorID As String
   processorID = GetProcessorID()
   MsgBox "Processor ID: " & processorID
End Sub

Private Function GetProcessorID() As String
   Dim sysInfo As SYSTEM_INFO
   Dim serialNum As Long
   Dim serialNumStr As String
   Dim volName As String
   Dim fileSysName As String
   Dim maxCompLen As Long
   Dim fileSysFlags As Long

   GetProcessorInfo sysInfo
   GetVolumeInformationA "C:\", volName, 255, serialNum, maxCompLen, _
       fileSysFlags, fileSysName, 255
   serialNumStr = Right("00000000" & Hex$(serialNum), 8)
   GetProcessorID = Mid(serialNumStr, 7, 2) & Mid(serialNumStr, 5, 2) & _
       Mid(serialNumStr, 3, 2) & Mid(serialNumStr, 1, 2)
End Function
الصفحات : 1 2 3 4 5 6 7 8