منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

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

تقبلوا تحياتي
بالنسبة للتحكم بالمجلد لمشاركة وصلاحيتها انصحك بقرائة ويندوزباور شيل ومن ثم تنفيذة من داخل برنامجك اسهل بكثير
اخي العزيز oneyemenweb2 هل لديك رابط لهذا الموضوع يساعدني في ذلك جزاك الله خيرا
أخواني الأكارم

محتاج مساعدتكم لإنشاء مجلد رئيسي بواسطة الكود لكن أن يكون مشترك لكل المستخدمين مع عدم إمكانية حذفه أو تغيير إسمه إلا من قبل المسؤول
مع العلم أني استخدم الكود التالي لإنشاء المجلد
كود :
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

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

مع جزيل الشكر والامتنان
أخواني

توصلت إلى الحل لتحديد صلاحية عدم تمكين مستخدم معين من حذف مجلد معين أو تغيير اسمه وإليكم الكود:
كود :
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)
وبالتوفيق للجميع
أخواني الأعزاء
بالرغم من أن الأكواد المذكورة أعلاه فعالة وتقوم بإنشاء مجلد مشترك وبخصائص محددة إلا أن هذا المجلد يفقد خاصيته كمجلد مشترك بعد تحزيم البرنامج حيث أنه قبل التحزيم تظهر في خصائصة صفة share لكن بعد التحزيم لاتظهر هذه الصفة ولا يتم حفظ فيه اية بيانات من قبل مستخدمي نفس الجهاز مع العلم أن مسار إنشاء المجلد هو داخل المجلد الرئيسي للبرنامج

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

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

أخي العزيز barakascap إن شاء الله أبحث لك عن الموضوع وأخبرك في حال توصلت للحل
بما أن المجلد الذي تريد (مشاركته) داخل المسار الرئيسي لبرنامجك لماذا لا تضع كود (المشاركة) في حدث تحميل أول فورم يفتح في برنامجك ؟
الصفحات : 1 2