Como crear un .exe en Visual studio 2010 con permisos de escritura en C:Windows\

Iniciado por dark_one88, 25 Mayo 2011, 15:35 PM

0 Miembros y 1 Visitante están viendo este tema.

dark_one88

Buenas q tal,
Aca estoy de nuevo con otra duda como puedo crear un .exe q me permita crear una carpeta en C:\Windows\"Nombre de mi carpeta"\"mi archivo.txt"..
lo que quiero es editar ese archivo pero como no tiene permisos no me lo puede editar me da error.. alguien podria ayudarme en eso... de ante mano gracias

Krähne

#1
¡Hola!...

Parece que tu error se debe a que no estás cerrando el archivo acabado de crear, aquí te dejo un ejemplo de cómo crear un directorio, un archivo de texto y agregarle información a éste.

En C#:

Código (csharp) [Seleccionar]

using System.IO;

       static void Main(string[] args)
       {
           Directory.CreateDirectory(@"C:\WINDOWS\DirectorioPrueba"); //Creamos el directorio.
           string Archivo = @"C:\WINDOWS\DirectorioPrueba\Archivo.txt"; //Declaramos un nuevo nombre para el archivo de texto.
           
           FileStream FS = new FileStream(Archivo, FileMode.Create, FileAccess.ReadWrite); //Lo creamos con FileStream, pasándo como parámetros FileMode.Create, y FileAccess.ReadWrite para poder leer y escribir datos del archivo.
           FS.Close(); //Luego de crearlo, lo cerramos.

           StreamWriter SW = new StreamWriter(Archivo); //Abrimos el archivo de texto con StreamWriter

           for (int i = 1; i < 101; i++) //Creamos un bucle.
           {
               SW.WriteLine("Escribiéndo {0} líneas en el archivo de texto.", string.Format("{0:D3}", i)); //Escribimos datos en el archivo de texto.
           }

           SW.Write(Environment.NewLine + "Bucle finalizado."); //Finalizamos la escritura de datos.

           SW.Close(); //Si no haremos más nada con el, lo cerramos.
       }


En VB.NET:

Código (vbnet) [Seleccionar]

Imports System.IO

    Sub Main()
       Directory.CreateDirectory("C:\WINDOWS\DirectorioPrueba") 'Creamos el directorio.
       Dim Archivo As String = "C:\WINDOWS\DirectorioPrueba\Archivo.txt" 'Declaramos un nuevo nombre para el archivo de texto.

       Dim FS As New FileStream(Archivo, FileMode.Create, FileAccess.ReadWrite) 'Lo creamos con FileStream, pasándo como parámetros FileMode.Create, y FileAccess.ReadWrite para poder leer y escribir datos del archivo.
       FS.Close() 'Luego de crearlo, lo cerramos.

       Dim SW As New StreamWriter(Archivo) 'Abrimos el archivo de texto con StreamWriter

       For i As Integer = 1 To 100 'Creamos un bucle.
           SW.WriteLine("Escribiéndo {0} líneas en el archivo de texto.", String.Format("{0:D3}", i)) 'Escribimos datos en el archivo de texto.
       Next

       SW.Write(Environment.NewLine & "Bucle finalizado.") 'Finalizamos la escritura de datos.

       SW.Close() 'Si no haremos más nada con el, lo cerramos.
   End Sub


Publico dos códigos porque no especificaste el lenguaje.

Como notas, al momento de crear el archivo, lo cierro con FS.Close(); y al momento de agregarle información también lo cierro con SW.Close();. Creo que tu problema se debía a que no lo estabas haciendo.

Espero sea útil.

Gruß.
Yo soy más sabio que este hombre; es posible que ninguno de los dos sepamos cosa que valga la pena, pero él cree que sabe algo, pese a no saberlo, mientras que yo, así como no sé nada, tampoco creo saberlo. Yo no tengo conciencia de saber nada.

dark_one88

Gracias!! eso es creo el codigo q estaba buscando yo no lo estaba haciendo asi ... yo lo acia de esta forma
My.Computer.FileSystem.WriteAllText(*Direccion*, *texto*, False)
pero ahora voy a probar tu cod!! graicas

Krähne

Cita de: dark_one88 en 30 Mayo 2011, 23:37 PM
Gracias!! eso es creo el codigo q estaba buscando yo no lo estaba haciendo asi ... yo lo acia de esta forma
My.Computer.FileSystem.WriteAllText(*Direccion*, *texto*, False)
pero ahora voy a probar tu cod!! graicas

No te preocupes, seguramente funciona, al menos aquí funcionaba de mil maravillas.

Gruß.
Yo soy más sabio que este hombre; es posible que ninguno de los dos sepamos cosa que valga la pena, pero él cree que sabe algo, pese a no saberlo, mientras que yo, así como no sé nada, tampoco creo saberlo. Yo no tengo conciencia de saber nada.