none
Como criar um diretorio via codigo e colocar esse diretorio como uma pasta compartilhada?

    Question

  • Como criar um diretorio via codigo e colocar esse diretorio como uma pasta compartilhada?
    Friday, April 15, 2011 1:50 PM

Answers

All replies

  • Bom dia Thiago,

     /*using System;
    using System.IO;
    using System.Net;
    using System.Management;*/

    try
    {
        // create a directory
        Directory.CreateDirectory(@"C:\MyTestShare");
        // 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"] = "My Files Share";
        inParams["Name"] = "My Files Share";
        inParams["Path"] = @"C:\MyTestShare";
        inParams["Type"] = 0x0; // Disk Drive
        // 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 e)
    {
        return e.Message;
    }

    Criar uma pasta (diretório) com o C # é uma coisa muito fácil, usando a biblioteca System.IO. E se você quiser compartilhar essa pasta, isto é um pouco mais complicado e requer a ajuda de biblioteca System.Management. O exemplo do código mostra como fazer exatamente isso. Tome nota que, exceto por adicionar a linha System.Management usar em sua classe, você também precisa adicionar explicitamente a biblioteca de referência System.Management ao seu projeto.

    Espero ter sanado a sua dúvida!
     
    Se a resposta foi útil pra você, colabore com o fórum marcando como resposta esta sugestão, obrigado!
     
    Júlio Cesar Cosmo, MCP, MCTS - Influenciador Sharepoint, Influenciadores Microsoft
    http://juliocosmo.wordpress.com

     

     

     

    Friday, April 15, 2011 1:55 PM
  • Julio,

    quando utilizo este comando em um subdiretorio da erro por exemplo C:\Teste\teste quero deixa apenas a ultima pasta compartilhada não consigo.

    Friday, April 15, 2011 8:10 PM
  • Reporta o erro pra gente prosseguir, por favor!


    Júlio Cesar Cosmo, MCP, MCTS - Influenciador Sharepoint, Influenciadores Microsoft
    http://juliocosmo.wordpress.com

    Friday, April 15, 2011 10:40 PM
  • Julio,

     

    Simplismente não compartilha cria a pasta mas nao poe como compartilhada. Não apresenta erro algo semente não compartilha.

    Monday, April 18, 2011 12:51 PM
  • Entendi, Thiago.

    desculpe a demora para respondê-lo, vou trabalhar em uma solução aqui e em 30 minutos te dou um retorno. Abraços!!!

    Tuesday, April 19, 2011 10:49 AM
  • Entendi, Thiago.

    desculpe a demora para respondê-lo, vou trabalhar em uma solução aqui e em 30 minutos te dou um retorno. Abraços!!!

    Bom, Thiago!

    Encontrei um exemplo no CodeProject e testei a solução. Esta solução compartilha arquivos e pastas, utilizando o PInvoke:

    Espero ter sanado a sua dúvida!
     
    Se a resposta foi útil pra você, colabore com o fórum marcando como resposta esta sugestão, obrigado!
     
    Júlio Cesar Cosmo, MCP, MCTS - Influenciador Sharepoint, Influenciadores Microsoft
    http://juliocosmo.wordpress.com

    Tuesday, April 19, 2011 1:14 PM