65.9K
CodeProject 正在变化。 阅读更多。
Home

如何使用 C# 共享 Windows 文件夹

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.27/5 (29投票s)

2007年5月2日

GPL3
viewsIcon

190639

downloadIcon

5623

使用此方法,您可以轻松地使用 C# 编程共享文件夹。

Screenshot - fig2.jpg

引言

使用此方法,您可以轻松地在 C# 编程中共享文件夹。

我在源代码中编写了高级功能,例如最大连接数等。

使用代码

首先,您需要添加引用:System.Management

从 Visual Studio 像这张图片一样

Screenshot - fig1.jpg

然后,您可以使用此方法轻松共享您想要的任何文件夹

//
// 
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!");
}
}
Sample Usage: 

QshareFolder("c:\\TestShare","Test Share", "This is a Test Share");
 

如您所见,我上传了示例程序的源代码,希望对您有所帮助!

关注点

我在一个项目中使用了这种方法,我的用户想要与其他人共享文件夹,但他们不知道该怎么做!我想他们现在会很高兴!

此链接是一个关于如何重置 Windows 管理员密码的文章

Reset-Administrator-Pass.asp

历史

版本 1.0,作者:Qasem Heirani Nobari

© . All rights reserved.