كيف يمكنني تعيين مشاركة المجلد برمجيًا في vb.net

StackOverflow https://stackoverflow.com/questions/2543567

  •  23-09-2019
  •  | 
  •  

سؤال

لدي بيئة خادم عميل وقمت بتطوير مشروع لخادم العميل.

أحتاج إلى مشاركة مجلد من جهاز الخادم الخاص بي برمجيًا باستخدام vb.net

الرجاء مساعدتي.

هل كانت مفيدة؟

المحلول

هنا مثال واحد الذي يظهر المفهوم باستخدام ManagmentClass. إنه C# ولكن يمكن تحويله بسهولة إلى vb.net:


تحديث:

Directory.CreateDirectory("C:\MyTestShare")
Dim managementClass As New ManagementClass("Win32_Share")
Dim inParams As ManagementBaseObject = managementClass.GetMethodParameters("Create")
inParams.Item("Description") = "My Files Share"
inParams.Item("Name") = "My Files Share"
inParams.Item("Path") = "C:\MyTestShare"
inParams.Item("Type") = 0
If (DirectCast(managementClass.InvokeMethod("Create", inParams, Nothing).Properties.Item("ReturnValue").Value, UInt32) <> 0) Then
    Throw New Exception("Unable to share directory.")
End If

نصائح أخرى

لديّ رمز يشبه هذا والذي يعمل على آلات Vista و Win2K3 ، ولكن عندما أجربه على Windows Server 2008 R2 (مع التحديثات الحديثة) ، فإنه يفشل مع خطأ "Access Refered". لقد جربت الكود الدقيق أعلاه والنتيجة نفسها. أنا مسؤول على الصندوق وقد حاولت تعطيل UAC ولكن دون أي تأثير.

(أعلم أن هذا ليس إجابة ، ليس لديّ القدرة على التعليق)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top