السلام عليكم جميعاً اخواني الأعزاء
كما هو واضح من العنوان، فإن لكل منا طريقته الخاصة لحماية برامجه من القرصنة أو العبث.. ومن ضمن تلك الطرق التي أعتقد أنها ستكون من ضمن أقوى الطرق إن شاء الله هي طريقة أسميتها: (ملف المفتاح) الخاصة بي، لا أدري قد يكون أحدا ما قد توصل إليها ويستخدمها مثلي، ولتعم الفائدة، وحتى يتم مناقشتها وتطويرها.. أطرح الفكرة عليكم.. راجياً تفاعلكم وإثرائكم للموضوع.
بعد الإنتهاء من بناء برنامجكم نفذ الخطوات التالية:
1- عمل كلمة مرور لملف البرنامج مع مراعاة أن تكون معقدة وطويلة، مع ضرورة إضافة حرفي: chr(13) و chr(10) التي يستحيل إدخالها من الكيبورد، ولكن كيف يمكن إضافة هذين الحرفين؟ يمكن إضافة هذين الحرفين باستخدام الكود التالي:
افتح ملف جديد، واعمل نموذج جديد، وزر جديد، وفي حدث (عند النقر) اكتب هذا الكود:
Dim DB , pwOld, pwNew, pathDB
pathDB = "C:\MeSystem.accdb"
pwOld = ""
pwNew = Chr(13) & "Xjhdk@u$jl25ي" & Chr(13) & Chr(10)
Set DB = OpenDatabase(pathDB, True, False, ";pwd=" & pwOld)
DB.NewPassword pwOld, pwNew
DB.Close
وغير ما يلزم تغييره من مسار الملف و كلمة المرور المرغوبة لديك
ويبقى! كيف يمكن فتحه الملف مع وجود كلمة مرور معقدة.. الحل في الخطوة التالية.
2- كون ملف جديد (ملف المفتاح) وأنشئ نموذج جديد وفي حدث عند الفتح اكتب كود فتح ملف النظام التالي:
Dim App As Access.Application, strPath As String
Set App = New Access.Application
strPath = Application.CurrentProject.Path & "\ MeSystem.accdb "
With App
.DoCmd.RunCommand acCmdAppMinimize
.OpenCurrentDatabase strPath, , Chr(13) & "Xjhdk@u$jl25ي" & Chr(13) & Chr(10)
' .DoCmd.OpenForm "Form", , , , , acWindowNormal'نموذج البداية
' .DoCmd.Maximize
' .Visible = True
End With
Set App = Nothing
DoCmd.Quit
وجعل هذا النموذج نموذج البداية (أي يعمل عند بدء تشغيل ملف المفتاح)، كما بمكنك إضافة كود إخفاء واجهة الاكسس قبل تنفيذ الكود السابق إن أردت أن لا يظهر عند التشغيل.
3- احمي الوحدات النمطية لملف المفتاح بكلمة مرور.
4- احفظ ملف المفتاح في نفس مجلد البرنامج بامتداد ".accde أو .mde" بحسب اصدار الاكسس الذي تعمل عليه.
مرفق لكم مثال مفتوح
ملف المفتاح.rar