التقني قام بنشر أكتوبر 19, 2005 قام بنشر أكتوبر 19, 2005 (معدل) السلام عليكم ورحمة الله أقدم لكم حماية تمنع المفتاح Shift من العمل وفيها أيضا خدعة الخطوات : 1- في وضع التصميم لنموذج الواجهة ( النموذج الذي يعمل عند بدء التشغيل ) 2- أنشئ مربع تسمية Label وليكن أسمه : bDisableBypassKey 3- يجب أن يكون هذا المربع صغير للغاية بحيث لا يكاد يرى ( لا تعمل على إخفائه ) فنحن نريد استخدامه مستقبلا . 4- ضع الكود التالي في حدث عند النقر لمربع التسمية : Private Sub bDisableBypassKey_Click() On Error GoTo Err_bDisableBypassKey_Click 'This ensures the user is the programmer needing to disable the Bypass Key Dim strInput As String Dim strMsg As String Beep strMsg = "هل تريد أن تفعل زر الشفت ؟" & vbCrLf & vbLf & "أدخل كلمة زر التفعيل" strInput = InputBox(Prompt:=strMsg, Title:="عدم تفعيل زر الشفت") If strInput = "12345" Then 'Change password to your own ChangeProperty "AllowBypassKey", DB_BOOLEAN, True Beep MsgBox "تم تفعيل زر الشفت" & vbCrLf & vbLf & "سيتم في المرة القادمة السماح لأي مستخدم بالدخول على برنامج عن طريق زر الشفت", vbInformation, "التحكم في زر الشفت" Else Beep ChangeProperty "AllowBypassKey", DB_BOOLEAN, False MsgBox "خطأ في كلمة مرور" & vbCrLf & vbLf & "تم تعطيل زر شفت" & vbCrLf & vbLf & "بما أنه تم تعطيل زر الشفت ، لذا فلن يكون بمقدور أي مستخدم الدخول على البرنامج والتعديل عليه", vbCritical, "كلمة السر خطأ" Exit Sub End If Exit_bDisableBypassKey_Click: Exit Sub Err_bDisableBypassKey_Click: MsgBox "bDisableBypassKey_Click", Err.Number, Err.Description Resume Exit_bDisableBypassKey_Click End Sub 5- وضع الكود التالي في حدث عند النقر المزدوج لمربع التسمية : Private Sub bDisableBypassKey_DblClick(Cancel As Integer) Private Sub Disable_Click() Option Compare Database Option Explicit Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer Dim dbs As Object, prp As Variant Const conPropNotFoundError = 3270 Set dbs = CurrentDb On Error GoTo Change_Err dbs.Properties(strPropName) = varPropValue ChangeProperty = True Change_Bye: Exit Function Change_Err: If Err = conPropNotFoundError Then ' Property not found. Set prp = dbs.CreateProperty(strPropName, _ varPropType, varPropValue) dbs.Properties.Append prp Resume Next Else ' Unknown error. ChangeProperty = False Resume Change_Bye End If End Function 6- عند الانتهاء من وضع الأكواد قم بتشغيل البرنامج 7- اضغط على مربع التسمية ليظهر لك مربع يطالبك بكلمة المرور 8- إذا ادخلت الكلمة الصحيحة فمعنى ذلك أنك سمحت لزر الشفت بالعمل وبالتالي الدخول على برنامجك والتعديل عليه ( وهذا من صلاحياتك فأنت من ستعدل على البرنامج ) 9-وإذا تم ادخال كلمة مرور خاطئة فهذا يعني أن هذا المستخدم غير مصرح له بالتحكم بزر الشفت وبالتالي سيتم تعطيله ولن يكون بمقدوره التعديل على برنامج (وهذا ليس من صلاحياته ) . 10 - بعد أن تظهر رسالة الخطأ (وهذا هو المطلوب) أغلق البرنامج ثم أعد تشغيله مع الضغط بإستمرار على زر الشفت ستجد أنك لن تستطيع الدخول على البرنامج والتعديل عليه . أرجو أن يكون الشرح مفيدا في المرفقات مثال عملي على الشرح منقول من أحد المواقع الأجنبية وبتصرف _____.rar تم تعديل أكتوبر 19, 2005 بواسطه التقني
Force قام بنشر أكتوبر 19, 2005 قام بنشر أكتوبر 19, 2005 السلام عليكم جزاك الله خير يا التقني لكن هذه الطريقة لم تؤمن الحماية لفتح القاعدة وابطال عمل الشفت لانه بمقدور اي شخص اخر ان يفتح قاعدة البيانات بابطال زر عمل الشفت من برنامج اخر بالاكسس يعمل على ابطال عمل الشفت معمول لهذا الاساس
التقني قام بنشر أكتوبر 19, 2005 الكاتب قام بنشر أكتوبر 19, 2005 وعليك السلام ورحمة الله كلامك صحيح 100% البرامج المعقدة يتم كسر حمايتها فما بالنا بطريقة منع الشفت لبرنامج معمول بالآكسس !! لكن الذي حصل معي أنه قمت بمحاولة كسر الحماية لهذا البرنامج عن طريق برنامج متخصص فلم يجد نفعا وبعد تجربة التشغيل لا زال الشفت معطل !! من الممكن وجود برامج تفعل عمل الشفت وتكسر الحماية .. لكن تبقى هذه الطريقة من احدى خدع الحمايات وشكرا على مرورك وتعليقك
ابوعامر22 قام بنشر أكتوبر 23, 2005 قام بنشر أكتوبر 23, 2005 الله يجزالك خير على هذه المعلومات المفيده
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.