اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كيف أجعل البرنامج لا يعمل إلا على فلاش ميموري


الردود الموصى بها

هل تقصد ان :

1- البرنامج موجود على الفلاشة

2-  يمكنه تشغيل البرنامج  من اي جهاز  آخر من الفلاشة الحالية فقط

اذا كان  صحيحا  فما تعليقك على الخدمات المصاحبة للبرنامج مثل التعريفات والمكتبات

 

 

 

رابط هذا التعليق
شارك

اذا  تستخدم  رسائل تحتاج لمكتبة نت تثبتها في السستم

اذا تستخدم جهاز بصمة تحتاج تعريف مكتبة لهذا الجهاز داخل السستم

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

على كل حال يمكن التعامل مع كل هذه وغيرها  بطريقة الفحص والتحميل والتسجيل

بحيث تكون هذه المكتبات متواجدة بشكل دائم داخل الفلاشة

دعنا من هذا  :

نفرض انك لن تحتاج الى اي خدمات مصاحبة  في برنامجك

نقول

يمكنك ربط تشغيل البرنامج برقم الفلاشة التسلسلي

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

فاذا كان متوافق مع المعادلة التي وضعناها يعمل والا يغلق

رابط هذا التعليق
شارك

مشكور ابو خليل على متابعة الموضوع 

اقتباس

يمكنك ربط تشغيل البرنامج برقم الفلاشة التسلسلي

هنا بيت القصيد

كيف نقوم بهذا العمل ما الكود المناسب لذلك؟

رابط هذا التعليق
شارك

هذا الكود يظهر رقم الفلاشة التسلسي في الرسالة

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_DiskDrive", , 48)
For Each objItem In colItems
   s = objItem.SerialNumber
Next
MsgBox s

يمكنك استبدال الرسالة بمتغير  يتم فحصه عند فتح النموذج

فان كان موافقا لهذا الرقم  والا يتم غلق البرنامج

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

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

  • Like 1
رابط هذا التعليق
شارك

أستاذنا 

طبقت الكود السابق كما يلي

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_DiskDrive", , 48)
For Each objItem In colItems
   s = objItem.SerialNumber
Next
If s = "1210253353" Then
DoCmd.OpenForm "frm-userlogon"
Else
MsgBox "البرنامج محمي لا يمكن فتحه"
DoCmd.Quit
End If

ورقم الفلاش هو 

1210253353

ولكن النتيجة أن الرسالة تظهر البرنامج محمي 

مع أنه المفروض أن يدخل عن النموذج

مع العلم أن الكود تم وضعه في حدث عند الفتح للنموذج

تم تعديل بواسطه أبو العقاب
رابط هذا التعليق
شارك

اعمل مثال داخل الفلاش يحتوي على نموذج واحد فقط

الصق الاكواد  في محرر النموذج

وجرب 

العمل سيتم على نموذج واحد حدث عند الفتح يقرأ رقم الفلاشة وحدث عند التحميل يقارن

اذا ضبطت  يمكنك استبدال العبارة  exit sub  بعبارة اخرى لفتح ما تريد

Dim i
Private Sub Form_Load()
If i = "1210253353" Then
Exit Sub
Else
MsgBox "البرنامج محمي لا يمكن فتحه"
DoCmd.Quit
End If
End Sub
Private Sub Form_Open(Cancel As Integer)
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_DiskDrive", , 48)
For Each objItem In colItems
   i = objItem.SerialNumber
Next
End Sub

ويمكن  جعل  الكود في حدث الفتح  في وحدة نمطية عامة  يتم  نداؤها  داخل كل نموذج

لتضمن عدم التمكن من فتح اي نموذج عند مخالفة الشرط

  • Like 1
رابط هذا التعليق
شارك

exit sub   هي للخروج من الشرط وفتح النموذج

اصلا اذا تحقق الشرط فتح النموذج  وهي  نتيجة  exit sub

اما اذا لم يتحقق تخرج الرسالة ويغلق التطبيق

اين المشكلة في ذلك ؟

 

طيب  اجعل  بدلها امر بفتح نموذج آخر

 

  • Like 1
رابط هذا التعليق
شارك

بعد اذن اساتذنا الكرام  هذا حل بسيط وممكن يوذي الغرض 

ضع هذا الكود في الفورم الواجهة في حدث عند التحميل للفورم 

If Dir("j:\sndesk\MOVI.txt") = "" Then
MsgBox "áíÓ áÏíß ÍÞ ÊÔÛíá ÇáäÙÇã", vbOKOnly, "67749199*íÑÌí ÇáÇÊÕÇá ÈãÏíÑ ÇáäÙÇã*"

DoCmd.Quit
End If

شرح الكود If Dir("j:\sndesk\MOVI.txt") = "" Then هي مسار الفلاش  عندي اي ان الفلاشه علي برتشن ال ( j ) ويوجد ملف تكست اسمة MOVI  داخل ال (الجي) في فولدراسمه sndesk 

طبعا لو انت مش موصل الفلاش الي عليها الملف ده علي الكمبيوتر مش هيفتح البرنامج  وتظهر لك الرسالة

MsgBox "áíÓ áÏíß ÍÞ ÊÔÛíá ÇáäÙÇã", vbOKOnly, "67749199*íÑÌí ÇáÇÊÕÇá ÈãÏíÑ ÇáäÙÇã*"

DoCmd.Quit

ثم يغلق البرنامج 

 

  • Like 2
رابط هذا التعليق
شارك

ممتاز اخونا حسين

يعني ان الفلاشة معك انت للحفاظ على خصوصية البرنامج

ولكن ابو العقاب يريد البرنامج داخل الفلاشة ، بمعنى انه يريد توزيع البرنامج مع الفلاشة

بحيث يمكنك تشغيل البرنامج بعد شرائه على اي جهاز حاسوب

اي لا يمكنك نسخه الى فلاشة اوجهاز آخر

  • Like 2
رابط هذا التعليق
شارك

بروكتم أخوتي

لكن هي فقط النقطة الأخيرة في الموضوع 

أريده إذا تحقق الشرط إن كان رقم الفلاش 

1210253353

يفتح النموذج f1 

والا يظهر الرسالة البرنامج محمي

الكود عندي هو

Option Compare Database
Dim i
Private Sub Form_Load()
If i = "1210253353" Then
DoCmd.OpenForm "f1"
Exit Sub
Else
MsgBox "البرنامج محمي"
DoCmd.Quit
End If
End Sub

Private Sub Form_Open(Cancel As Integer)
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_DiskDrive", , 48)
For Each objItem In colItems
   i = objItem.SerialNumber
Next
'mj= i
End Sub

أين المشكلة في الكود ؟؟ 

أم أن الرقم غير صحيح مع انه صحيح مئة بالمئة

رابط هذا التعليق
شارك

12 دقائق مضت, ابوخليل said:

ممتاز اخونا حسين

يعني ان الفلاشة معك انت للحفاظ على خصوصية البرنامج

ولكن ابو العقاب يريد البرنامج داخل الفلاشة ، بمعنى انه يريد توزيع البرنامج مع الفلاشة

بحيث يمكنك تشغيل البرنامج بعد شرائه على اي جهاز حاسوب

اي لا يمكنك نسخه الى فلاشة اوجهاز آخر

تسلم استاذي الفاضل ابو خيل هذا بفضل الله تعالي والمنتدي الطيب الذي به حضرتكم وباقي اساتذتنا الكرام

رابط هذا التعليق
شارك

السلام عليكم

سؤال 

هل رقم الفلاشة يتغير مع الفورمات لها؟

وهل يتكرر رقم الفلاشة مع اي فلاشة اخري من نفس الماركة او العكس؟

تحياتي

 

رابط هذا التعليق
شارك

الكود شغال 100%

جرب غير تعريف المتغير الموجود في اعلى المحرر الى

dim i as String

ايضا  السطر :

strComputer = "."

اكتب قبله

dim strComputer 

 

اذا لم يمشي الحال  عندي لك كود آخر للفحص

منذ ساعه, محمد سلامة said:

السلام عليكم

سؤال 

هل رقم الفلاشة يتغير مع الفورمات لها؟

وهل يتكرر رقم الفلاشة مع اي فلاشة اخري من نفس الماركة او العكس؟

تحياتي

 

عندي لم يتغير مع الفورمات

وربما انواع اخرى تختلف

ولكن هل يمكن الفلاشات تتشابه في السيريال فهذا لا اعلم ولم اجرب

  • Like 1
رابط هذا التعليق
شارك

انظر .. جرب المثال المرفق

اذا فتح نموذج الترحيب  جيد

حاول تغير في احد الرقمين وشوف النتيجة وخبرني

التجربة هذه  خارج الفلاشة

TG.rar

  • Like 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information