تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
خصائص المجلد
#1
أخواني الأعزاء
هل يمكن التحكم بخصائص المجلد من خلال الكود كجعل المجلد متاح للمشاركة بين المستخدمين العاديين للجهاز وطبعاً دون السماح بحذفه أو تغيير اسمه من قبلهم

تقبلوا تحياتي
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#2
بالنسبة للتحكم بالمجلد لمشاركة وصلاحيتها انصحك بقرائة ويندوزباور شيل ومن ثم تنفيذة من داخل برنامجك اسهل بكثير
الرد }}}
تم الشكر بواسطة:
#3
اخي العزيز oneyemenweb2 هل لديك رابط لهذا الموضوع يساعدني في ذلك جزاك الله خيرا
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#4
أخواني الأكارم

محتاج مساعدتكم لإنشاء مجلد رئيسي بواسطة الكود لكن أن يكون مشترك لكل المستخدمين مع عدم إمكانية حذفه أو تغيير إسمه إلا من قبل المسؤول
مع العلم أني استخدم الكود التالي لإنشاء المجلد
كود :
If Not Directory.Exists("C:\My Folder") Then Directory.CreateDirectory("C:\My Folder").Attributes = FileAttributes.Hidden

وقد حصلت على الكود التالي لجعل المجلد مشترك
كود :
Try
            Dim managementClass As New ManagementClass("Win32_Share")
            Dim inParams As ManagementBaseObject = managementClass.GetMethodParameters("Create")

            inParams("Description") = "My Description"
            inParams("Name") = "Share Name"
            inParams("Path") = "C:\My Folder"
            inParams("Type") = &H0
            Dim outParams As ManagementBaseObject = managementClass.InvokeMethod("Create", inParams, Nothing)
            If Convert.ToUInt32(outParams.Properties("ReturnValue").Value) <> 0 Then
                MessageBox.Show("Unable to share directory.")
            Else
                MessageBox.Show("Shared folder successfully!")
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try

إلا أني لم أتمكن من إضافة خاصية عدم الحذف أو تغيير الاسم، لذا أرجو منكم أخواني مساعدتي أو إرشادي لما هو مناسب لحل هذا الموضوع

مع جزيل الشكر والامتنان
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#5
أخواني

توصلت إلى الحل لتحديد صلاحية عدم تمكين مستخدم معين من حذف مجلد معين أو تغيير اسمه وإليكم الكود:
كود :
Dim UserAccount As String = "Everyone"
        Dim FolderInfo As IO.DirectoryInfo = New IO.DirectoryInfo("C:\My Folder")
        Dim FolderAcl As New DirectorySecurity
        FolderAcl.AddAccessRule(New FileSystemAccessRule(UserAccount, FileSystemRights.Delete, InheritanceFlags.None, PropagationFlags.InheritOnly, AccessControlType.Deny))
        FolderInfo.SetAccessControl(FolderAcl)
وبالتوفيق للجميع
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#6
أخواني الأعزاء
بالرغم من أن الأكواد المذكورة أعلاه فعالة وتقوم بإنشاء مجلد مشترك وبخصائص محددة إلا أن هذا المجلد يفقد خاصيته كمجلد مشترك بعد تحزيم البرنامج حيث أنه قبل التحزيم تظهر في خصائصة صفة share لكن بعد التحزيم لاتظهر هذه الصفة ولا يتم حفظ فيه اية بيانات من قبل مستخدمي نفس الجهاز مع العلم أن مسار إنشاء المجلد هو داخل المجلد الرئيسي للبرنامج

أفيدوني أخواني بما لديكم من خبرات جزاكم الله خيراً

مع خالص الشكر والتقدير لكم جميعاً
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#7
هل استخدمت برنامج التحزيم المدمج مع الفيجوال بيسك أم برنامج تجاري ؟
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}
تم الشكر بواسطة:
#8
اخى العزيز
سبق وان طرجت سؤال بالمنتدى حول كيفية الحصول على اسماء المستخدمين الذين لهم حق الوصل
الى share folder
وبحثت كثيرا ولم اجد حل فهل يمكن المساعدة
الرد }}}
تم الشكر بواسطة:
#9
اخي العزيز kslawy برنامج التحزيم الذي استخدمه دوما هو setup factory فهل يمكن ان يكون هذا هو السبب ولماذا ؟

أخي العزيز barakascap إن شاء الله أبحث لك عن الموضوع وأخبرك في حال توصلت للحل
{ اللهم علمنا ما ينفعنا وانفعنا بما علمتنا إنك أنت العليم الخبير }
الرد }}}
تم الشكر بواسطة:
#10
بما أن المجلد الذي تريد (مشاركته) داخل المسار الرئيسي لبرنامجك لماذا لا تضع كود (المشاركة) في حدث تحميل أول فورم يفتح في برنامجك ؟
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم