اذهب الي المحتوي
أوفيسنا

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

قام بنشر

هل تقصد ان :

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information