Click here to Skip to main content
15,867,568 members
Articles / Programming Languages / Visual Basic

How to Share Windows Folders Using C#

Rate me:
Please Sign up or sign in to vote.
4.27/5 (29 votes)
2 May 2007GPL3 184.3K   5.6K   43   36
by using this Method you can Easly Share Folders using C# Programming.

Screenshot - fig2.jpg

Introduction

By using this Method you can Easly Share Folders with in C# Programming.

I'm wrote Advanced Feature in Source Code Like Maximum Connection and ...

Using the code

At the first you have to Add Reference : System.Management

From Visual Studio like This Image:

Screenshot - fig1.jpg

And Then with this Method You Can Easly Share Any Folder You Want :

C#
//
// 
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");

As you see I'm Upload Source code of Sample Program i wrote ,and i hope it's useful to Start!

Points of Interest

I'm using this method in one of my Projects that my Users wants to Share Folder With the others And they don't now How! And i think they will be happy now!

And This Link is an Article About How To Reset Windows Administartor Password:

Reset-Administrator-Pass.asp

History

Version 1.0, By: Qasem Heirani Nobari

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Team Leader
Iran (Islamic Republic of) Iran (Islamic Republic of)
Ghasem - Nobari
Qasem*AT*SQNco.com

Comments and Discussions

 
GeneralThanks mate! Some useful additions... Pin
Geek1311-May-10 0:38
Geek1311-May-10 0:38 
GeneralNice! Pin
doung3030-Mar-09 20:31
doung3030-Mar-09 20:31 
GeneralPrevious Shared Folder Pin
Sally Marlino12-Jul-08 8:56
Sally Marlino12-Jul-08 8:56 
GeneralCache settings Pin
Member 25942017-Mar-08 9:55
Member 25942017-Mar-08 9:55 
GeneralExample code to set permissions after sharing Pin
RandyStimpson25-Oct-07 10:48
RandyStimpson25-Oct-07 10:48 
GeneralRe: Example code to set permissions after sharing Pin
ionymous30-Mar-09 5:20
ionymous30-Mar-09 5:20 
GeneralRe: Example code to set permissions after sharing Pin
devvvy18-May-11 18:03
devvvy18-May-11 18:03 
QuestionPermissions Pin
aagirre23-Aug-07 5:09
aagirre23-Aug-07 5:09 
Following your way, full control is given to all users. Is there any way to limit it to read-only? (I have the same problem using net share command line tool).
QuestionError creating share Pin
Andromeda Shun22-Jul-07 23:26
Andromeda Shun22-Jul-07 23:26 
GeneralGood Job, but .... Pin
senpai3219-Jun-07 4:30
senpai3219-Jun-07 4:30 
GeneralCool Pin
Elliott Keith11-May-07 10:34
Elliott Keith11-May-07 10:34 
GeneralRe: Cool Pin
Ghasem Nobari11-May-07 19:39
Ghasem Nobari11-May-07 19:39 
GeneralCreate Share & Set Permissions Pin
thund3rstruck7-May-07 5:36
thund3rstruck7-May-07 5:36 
GeneralTry-Catch Pin
Steve Hansen2-May-07 23:41
Steve Hansen2-May-07 23:41 
GeneralRe: Try-Catch Pin
Ghasem Nobari2-May-07 23:48
Ghasem Nobari2-May-07 23:48 
GeneralThanks! Pin
milangine2-May-07 11:15
milangine2-May-07 11:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.