C# Programm - Zugriff verweigert

06/14/2013 23:27 SurizeZaine#1
Hey leute,
ich schreibe grade ein Programm, in dem ich mich registrieren muss und die Daten die ich beim Registrieren eingebe sollen in einer Datei gespeichert werden. Ich möchte die Anmeldedaten zum Test erstmal auf dem Desktop in nem Ordner "Testlogin" in einer Datei speichern. Hier erstmal der Code:



private void button1_Click(object sender, EventArgs e)
{
string email, pw, sq, sa, anmeldedaten;
email = textBox1.Text;
pw = textBox2.Text;
sq = textBox3.Text;
sa = textBox4.Text;
anmeldedaten = email + ";" + pw + ";" + sq + ";" + sa;

if (Directory.Exists(@"C:\Users\Robin\Desktop\Testlog in"))
{
File.WriteAllText(@"C:\Users\Robin\Desktop\Testlog in", anmeldedaten);
MessageBox.Show("Succesfully registered!");
}
else
{
Directory.CreateDirectory(@"C:\Users\Robin\Desktop \Testlogin");
File.WriteAllText(@"C:\Users\Robin\Desktop\Testlog in", anmeldedaten);
MessageBox.Show("Succesfully registered!");
}



Der Ordner ist noch nicht erstellt, das übernimmt das Programm nach der else-Anweisung, aber wenn ich jetzt in diesen Ornder die Datei schreiben möchte, kommt folgende Fehlermeldung: Der Zugriff auf den Pfad "C:\Users\Robin\Desktop\Testlogin" wurde verweigert.
Jetzt hab ich schon mal probiert es zu beheben, indem ich in app.manifest vom Projekt eingestellt habe, dass das Programm Administratorrechte benötigt um zu starten, es klappt jedoch trotzdem nicht, mir wird immer der Zugriff verweigert -.- Hab auch schon probiert die Datei nicht in einen Ordner zu schreiben, falls er kopiergeschützt ist, aber direkt auf dem Desktop hats auch nicht geklappt. Jemand ne Ahnung wie ich des Problem beheben kann?
Hab in Google leider nichts brauchbares gefunden
06/14/2013 23:29 MoepMeep#2
Du versuchst in einen order text zu schreiben, wie soll das gehen?
Testlogin\dateiname.txt wäre da schon etwas sinnvoller :|
06/14/2013 23:34 Twist'#3
Du hast noch keine Txt Datei erstellt also wo soll es denn gespeichert werden?
Falls der Pfad vom nutzer bestimmt werden soll versuch es mal so :
PHP Code:
 Stream myStream ;
     
SaveFileDialog saveFileDialog1 = new SaveFileDialog();

     
saveFileDialog1.Filter "txt files (*.txt)|*.txt|All files (*.*)|*.*"  ;
     
saveFileDialog1.FilterIndex ;
     
saveFileDialog1.RestoreDirectory true ;

     if(
saveFileDialog1.ShowDialog() == DialogResult.OK)
     {
         if((
myStream saveFileDialog1.OpenFile()) != null)
         {
             
// Code für die txt Datei
             
myStream.Close();
         }
     } 
06/14/2013 23:46 SurizeZaine#4
Ok, schon mal danke an euch beide, habe das mit der .txt datei ganz vergessen ^^

@Twist: Ich gebe ja die Registrierungsdaten usw ein und er soll es ohne das ich nen pfad auswähl abspeichern, d.h. ich arbeite ohne den SaveFileDialog und er speichert es per Buttonklick an nem bestimmten Ort ab.
Wenn ich jetzt allerdings File.WriteAllText(@"C:\Users\Robin\Desktop\Testlog in\login.txt", anmeldedaten); benutze, erstellt er keine .txt datei sondern einen ordner namens login.txt
Gehört das .txt noch in den Pfad oder woran liegt es das er noch nen Ordner erstellt?
06/14/2013 23:50 Twist'#5
@SurizeZaine
Versuchs mal so ^^

PHP Code:
StreamWriter myWriter File.CreateText(@"c:\text.txt");
 
myWriter.WriteLine("Zeile1");
 
myWriter.WriteLine("Zeile2");
 
myWriter.Close(); 
06/14/2013 23:57 SurizeZaine#6
Thx, jetzt klappt es ;)