2016-04-25 320 views
0

如何共享文件夾槽C#。 enter image description here共享文件夾槽C#

如果我檢查複選框(見圖片)比我有我所需要的。 但我想用C#做到這一點,只需在本地文件夾路徑。

感謝您的幫助。

+0

您需要添加參考'System.Management' DLL和相應的代碼。 – Bikee

+0

你有沒有檢查過https://msdn.microsoft.com/en-us/library/bb425864.aspx文章並嘗試設置'WHSSharePermissions'枚舉?或者也許有一種方法可以在WMI中做到這一點.. –

+2

總體而言,我們不會爲你編碼這樣的東西 - 在你的許多googlings中你沒有找到任何代碼嘗試? – BugFinder

回答

1

此代碼共享文件夾這裏

private static void QshareFolder(string FolderPath, string ShareName, string Description) 
{ 
try{ 
    // Create a ManagementClass object 

    ManagementClass managementClass = new ManagementClass("Win32_Share"); 

    // Create ManagementBaseObjects for in and out parameters 

    ManagementBaseObject inParams = managementClass.GetMethodParameters("Create"); 

    ManagementBaseObject outParams; 

    // Set the input parameters 

    inParams["Description"] = Description; 

    inParams["Name"] = ShareName; 

    inParams["Path"] = FolderPath; 

    inParams["Type"] = 0x0; // Disk Drive 

    //Another Type: 

    // DISK_DRIVE = 0x0 

    // PRINT_QUEUE = 0x1 

    // DEVICE = 0x2 

    // IPC = 0x3 

    // DISK_DRIVE_ADMIN = 0x80000000 

    // PRINT_QUEUE_ADMIN = 0x80000001 

    // DEVICE_ADMIN = 0x80000002 

    // IPC_ADMIN = 0x8000003 

    //inParams["MaximumAllowed"] = int maxConnectionsNum; 

    // Invoke the method on the ManagementClass object 

    outParams = managementClass.InvokeMethod("Create", inParams, null); 

    // Check to see if the method invocation was successful 

    if ((uint) (outParams.Properties["ReturnValue"].Value) != 0) 

    { 

     throw new Exception("Unable to share directory."); 

    } 

}catch (Exception ex) 
{ 
//MessageBox.Show(ex.Message, "error!"); 
} 
} 

更多細節http://www.codeproject.com/Articles/18624/How-to-Share-Windows-Folders-Using-C

+0

非常好。謝謝。 – Raskolnikov

+0

不客氣 – Mostafiz