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

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

قام بنشر

السلام عليكم ورحمة _الله_ وبركاته 
كيف الحال إخواني لعلكم بخير وعافية 
وجدت كود للأستاذ أبو يوسف لإخفاء مجلد قاعدة البيانات لحمايتها من العبث بها وأيضا يمكن الأتصال بالقاعدة في حال الإخفاء والكود اشتغل معي تمام في الإخفاء لكن عند الإتصال بالقاعدة لم يعمل ولم يتعرف على مكانها ولا أدري هل لم أُحسن فهم طريقة عمل الكود أم هناك شيء خطأ فيه.
 

Option <span class="adtext" id="adtext_2">Compare Database</span>
<span class="adtext" id="adtext_1">Option Explicit</span>
 
Private Const SHCNE_ASSOCCHANGED As Long = &H8000000
Private Const SHCNF_IDLIST As Long = &H0
 
Private Declare Function SHChangeNotify Lib "Shell32.dll" (ByVal wEventID As Long, _
ByVal uFlags As Long, ByVal dwItem1 As Long, ByVal dwItem2 As Long) As Long
 
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
 
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
 
Public Const acshow As String = "3"
Public Const achide As String = "50"
 
Public Function WRITEINI(ByVal SECTION As String, KEY As String, value As String, INIFILE As String)
  WritePrivateProfileString SECTION, KEY, value, INIFILE
End Function
 
Public Function GETINI(ByVal SECTION As String, KEY As String, INIFILE As String, ByRef rVALUE As String) As Boolean
  Dim value As String * 256
  Dim a As Long
  a = GetPrivateProfileString(SECTION, _
    KEY, "?!?", value, 256, _
    INIFILE)
  If Left$(value, 3) = "?!?" Then
    GETINI = False
 
  Else
    GETINI = True
    rVALUE = Left$(value, a)
  End If
End Function
 
Public Sub ChangeMyIcon(Icon As String, Folder As String, IconType As String)
    WRITEINI ".ShellClassInfo", "iconfile", Icon, Folder & "\desktop.ini"
    WRITEINI ".ShellClassInfo", "iconindex", IconType, Folder & "\desktop.ini"
    SetAttr Folder, vbSystem 'This is important
End Sub
 
 
Private Function ParentFolder(strpath As String) As String
ParentFolder = Left$(strpath, InStrRev(strpath, "\") - 1)
End Function
 
Public Sub HideFolder(fldrpath As String)
Call ChangeMyIcon("%SystemRoot%\system32\SHELL32.dll", fldrpath, achide)
Call SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)
SetAttr fldrpath, vbHidden + vbSystem
Name fldrpath As ParentFolder(fldrpath) & "\" & Chr(160)
End Sub
 
Public Sub ShowFolder(fldrpath As String)
Name ParentFolder(fldrpath) & "\" & Chr(160) As fldrpath
Call ChangeMyIcon("%SystemRoot%\system32\SHELL32.dll", fldrpath, acshow)
Call SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)
SetAttr fldrpath, vbNormal
End Sub

وهذا كود للإخفاء المجلد

HideFolder "c:\data\myfolder"

وهذا الكود لإظهاره 
 

ShowFolder "c:\data\myfolder"

جزاك _الله_ خيرا 
وكل عام وانتم بخير

قام بنشر (معدل)

وعليك السلام اباعمر

غفر الله لي ولك وللمسلمين

السبب ان اكسس  يرى ان المسار غير صحيح فهو لا يرى المجلد

الحل :

لو فرضنا ان قاعدة البيانات داخل هذا المجلد المخفي على القرص  D  فسيكون المسار هكذا :

D:\ \Database.mdb

انظر الى اننا وضعنا مسافة فارغة واحدة عوضا عن اسم المجلد المخفي

 

جرب ووافني بالنتيجة

 

 

المعذرة أبا عمر حصل بعض التصرف 

تم تعديل بواسطه أبـوخليل
السبب : العثور على حل اقرب وأنسب
قام بنشر

وعليك السلام اباعمر

غفر الله لي ولك وللمسلمين

السبب ان اكسس  يرى ان المسار غير صحيح فهو لا يرى المجلد

الحل :

لو فرضنا ان قاعدة البيانات داخل هذا المجلد المخفي على القرص  D  فسيكون المسار هكذا :

D:\ \Database.mdb

انظر الى اننا وضعنا مسافة فارغة واحدة عوضا عن اسم المجلد المخفي

 

جرب ووافني بالنتيجة

 

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

 

 

المعذرة أبا عمر حصل بعض التصرف 

لا معذرة أستاذي فأنت المعلم 

وإن كان في مشاركتي شيء خطأ أرجو توضيحه حتى لا أقع فيه مرة ثانية.

جزاك _الله_ خيراَ

قام بنشر
فهل من طريقة لمنع وصول المستخدم للقاعدة عم طريق الإختصار ؟

 

الاختصار للواجهات  وهذه الاخيرة لن تكون داخل المجلد 

فالمجلد سيحتوي على قاعدة الجداول فقط .

قام بنشر (معدل)

أستاذي الكريم 
السلام عليكم ورحمة الله وبركاته 
أولا : جزاك _الله_ خيراً
ثانيا : لما ووضعت المسافة في المسار عوضا عن المجلد المخفي كما ذكرت لي وكانت القاعدة والواجهة في نفس المجلد نجحت معي وكانت تمام بفضل الله ثم بفضلكم ولكن ظهرت مشكلة إمكانية الوصول للقاعدة بسهولة عن طريق الإختصار ثم إختيار موقع الملف فكان الحل منك بفصل القاعدة عن الواجهات وجربت طريقة فصل القاعدة عن الواجهة  فنجح معي الإخفاء ولم ينجح معي الإرتباط بالقاعدة في حال الإخفاء رغم كونها تعمل جيدا في حال عدم الإخفاء.

 

ثم إني جال بخاطري أمور منها النسخ الإحتياطي لقاعدة البيانات هل سيعمل بصورة عادية أم سيحتاج الى أكواد معينه
وأيضا لو أراد المستخدم نقل قاعدة البيانات أو إعادة ربط  الواجهة بنسخة أخرى من قاعدة البيانات ما الحل .
مجرد أفكار.( كما قلت أنت من قبل فكرة قد تجلب أفكاراً ) :fff: 
فأرجو الرد وجزاك _ ربي_ جنته .

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

كل ما ذكرت يمكن تحقيقه بحول الله

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

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

قام بنشر
وجربت طريقة فصل القاعدة عن الواجهة  فنجح معي الإخفاء ولم ينجح معي الإرتباط بالقاعدة في حال الإخفاء رغم كونها تعمل جيدا في حال عدم الإخفاء.

 

 

لم ترفق مثالا بالنقاط التي اثرتها

 

وعلى كل الاحوال انظر الى هذا المرفق تجد داخله مجلد ضعه على القرص D

 

افتح المجلد ثم افتح قاعدة البيانات ( الواجهه ) ثم حاول ان تكتشف قاعدة الجداول المختبئة 

xx.rar

قام بنشر (معدل)

لم ترفق مثالا بالنقاط التي اثرتها

أستاذي الحبيب جزاك _الله_ خيرا 

إن شاء ربي سأرفق مثالنا شاملنا لكل ما ذكرت وسبب تأخري في إرفاق المثال هو الآتي :

كل ما ذكرت يمكن تحقيقه بحول الله

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

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

فأنا من وقتها أحاول وطبعا التأخير كان طبيعي بالنسبة لمثلي لأنه من الواضح أن الموضوع كبير عليً (وكما تعلم طعام الكبار سم الصغار)

لكن أستاذي لفت إنتباهي أمر لما نقلت المجلد المخفي على جهاز آخر عندي وجدته ظاهر وغير مخفي 

عموما سأحاول اليوم وأعطيك ردا 

أرجو أن تتحملني 

تم تعديل بواسطه أبا عمر
قام بنشر
لكن أستاذي لفت إنتباهي أمر لما نقلت المجلد المخفي على جهاز آخر عندي وجدته ظاهر وغير مخفي 

 

 

هل تتحث عن مثالي السابق ام عن غيره ؟

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

 

ملحوظة : الفحص تم على اجهزة كلها تحمل اصدار  win7

قام بنشر

لا أتحدث عن مثالك أستاذي الكريم إنما عن مثال أعمل عليه 
أستاذي إن شاء _الله_ سأرفق لك قاعدة بيانات كما ذكرت لك ولعلها تكون الليلة إن شاء الله 
لكن لي طلب يسير إن شاء الله أرجو أن تشرح لنا الطريقة بشيء من التفصيل .
جزاك _الله_ عنا خير الجزاء
وأحسن _الله_ إليك إحساناً لم ترى له مثيل 

قام بنشر (معدل)

السلام عليكم ورحمة _الله_ وبركاته
كيف حالك أستاذي الحبيب لعلك وبخير وأهلك أجمعين 
مرفق مثال به نسخ إحتياطي والإرتباط بقاعدة البيانات وارتباط بقاعدة بيانات جديدة من النسخ الإحتياطية المحفوظة وهكذا ..
أسأل _الله_  أن يمن عليك ويفتح لك و تعلمنا مما علمك ربك وتشرح لنا
جزاك _الله_ خيراً على ما تفعله معنا وأجزل ربي لك العطاء
[وقر عينيك بصر الأمة وإزالة الغمة عاجلا غير آجل ( وأبشرك بخير كبير قريبا بإذن الله )]
TEST.rar
 

تم تعديل بواسطه أبا عمر
قام بنشر (معدل)

أستاذي الحبيب إسم المجلد الذي يحتوي على قاعدة البيانات هو XX  وقاعدة البيانات XX_be والمسار D:\xx\xx
جزاك _الله_ خيراً وأحسن الله إليك

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

صحيح  اسم قاعدة الجداول  اما المسار فصحيح نوعا ما  حيث ان هناك مجلد مفقود بين  القاعدة XX_be  والمجلد xx

اذن :

الاجابة خاطئة

الآن تأكدت تماما انك لم تر قاعدة الجداول الخلفية ولا المجلد الذي يقبع داخل مجلدنا xx

قام بنشر

أستاذي الحبيب لم أفهم ما تقصده بخصوص هناك مجلد مفقود أرجو أن توضح لي 
وبالنسبة لرؤية قاعدة البيانات والمجلد الخاص بيها فقد رأيتها وقمت بإظهارها 
xx.rar
هل هناك شيء آخر علمني مما علمك ربك
 

قام بنشر

أستاذي الحبيب الآن ذهبت للجهاز الذي ظهر عليه المجلد الذي كنت أعمل عليه ووجدت أيضا أن مجلد قاعدة البيانات الخاص بك وكذا البرنامج غير مخفي ...! 

قام بنشر

يمكن ان نضع مكان المجلد في المسار فراغ او اسم المجلد او رموز

ومع هذا تأكد انه ليس هناك حماية كاملة

حيث يمكن نسخ هذه الرموز ولصقها في الكراك ثم عكس العملية ليظهر المجلد

 

دعنا نسير على الطريق حسب ما يوجد لديك من وحدات نمطية في مثال الاخفاء والاظهار

.

.

.

في برنامجك المرفق جاري الاطلاع  ...

قام بنشر (معدل)

جزاكم _الله_ خيرا وأحسن الله إليك إحسانا لم يخطر لك ببال ومن تحب ومن تخصهم بالدعاء وقر ربي عينيك بأبنائك وبناتك ومن تحب ومن تخصهم بالدعاء وجعل ربي قرة عينك في الصلاة ومن تحب ومن تخصهم بالدعاء
جاري الإطلاع 

 

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

أستاذي الحبيب جزاك _الله_ خيراً وأحسن الله إليك على البرنامج 
لكن أستاذي نقلت البرنامج اليوم على الجهاز الذي أقوم بالتجربة عليه فوجدت شيء غريب وهو : المجلد الذي يحتوي على قاعدة البيانات ظاهر وليس مخفي وكان المجلد شفاف وإسم المجلد شفاف لكنه ظاهر ويتم فتحه عادي .

 

قام بنشر
جزاكم _الله_ خيرا وأحسن الله إليك إحسانا لم يخطر لك ببال ومن تحب ومن تخصهم بالدعاء وقر ربي عينيك بأبنائك وبناتك ومن تحب ومن تخصهم بالدعاء وجعل ربي قرة عينك في الصلاة ومن تحب ومن تخصهم بالدعاء

 

 

ولك بالمثل اخي الحبيب

 

وكان المجلد شفاف وإسم المجلد شفاف لكنه ظاهر ويتم فتحه عادي .

 

في جهازك خاصية اظهار مجلدات النظام مفعلة لذا ستشاهد جميع ملفات النظام شفافة

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

وهو ليس اخفاء حقيقي ولكنه تمويه حيث يمكنك فتحه عند النقر على المكان الفارغ

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

 

السؤال : هل الاجهزة الفرعية  تتحكم في نظام  ملفات الجهاز الرئيسي ؟؟ ...... لا اعتقد ذلك

قام بنشر

صدقت أستاذي في كل كلامك 
بالنسبة لإجابة السؤال : لا 
عموما البرنامج بهذه الطريقة يعمل بصورة جيدة ولا بأس بها 
لكن هل لك أن تشرح لنا الكود والطريقة بصفة عامة.
جزاك _الله_ خيراً

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