Autor Beitrag
Geneesys
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Di 10.04.12 14:58 
Hey ho,

Ich möchte gerne in C# mit einem Code ein Netzlaufwerk verbinden:
ausblenden Quelltext
1:
BSP:(net use Z: \\172.16.3.29\c$					

Ich habe eine Textbox wo man den Buchstaben eintragen soll.(in diesem fall "Z")

und ich habe eine Textbox wo man den pfad eingeben soll.(in diesem fall 172.16.3.29 - Das ist nur eine Bsp. IP mann soll natürlich auch Pfade wie \\Windows\System32 benutzen können.)

Ich habe da schon jeztz eine ganze weile rumgebastelt aber ich bin zu keinem Ergebnis gekommen :/

Button Click Methode:
ausblenden C#-Quelltext
1:
2:
3:
4:
String Pfad = this.textBox2.Text;
String Buchstabe = this.textBox1.Text;

Process.Start("net""use"+"Z: \\172.16.3.29");

EDIT: Ou das war mein Test ob ich es wenigstens erstmal ohne die Textboxen hinbekomme :/

Und ganz viele anderen möglichkeiten die ich bereits ausprobiert habe :/

Hat jemand eine Idee wie ich dies vllt doch noch hinbekomme ? :/

Hoffe ihr versteht was ich meine :/

Gruß
Geneesys

Moderiert von user profile iconTh69: Code und C#-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 10.04.12 15:10 
Anstatt ein Shell Kommando abzusetzen solltest du vielleicht einfach direkt die Windows API benutzen.

Z.B. WNetAddConnection2
Geneesys Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Di 10.04.12 15:23 
Hey,
erstmal danke für die schnelle Antwort :)

Aber es muss doch auch noch anders gehen :/ Einfacher meine ich.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4796
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 10.04.12 16:16 
Da scheint nur ein Leerzeichen (nach dem "use") zu fehlen:
ausblenden C#-Quelltext
1:
Process.Start("net""use "+"Z: \\172.16.3.29");					
Geneesys Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Di 10.04.12 16:28 
Hey,

Leider tritt dann bei mir in der Windows Console ein System Fehler 67 auf und danach passiert nichts mehr :/
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4796
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 10.04.12 16:45 
Zitat:

Systemfehler 67 aufgetreten.

Der Netzwerkname wurde nicht gefunden.

Hast du denn Zugriff auf diesen Netzwerk-Pfad?

P.S: Du mußt schon einen Freigabenamen verwenden (und nicht bloß die IP-Adresse), z.B.
ausblenden Quelltext
1:
net use z: \\127.0.0.1\temp					
Geneesys Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Di 10.04.12 17:13 
Hmmmm... Ja habe natürlich zugriff auf den Netzwerk Ordner.

Leider funkt es immer nocht nicht :/

Immernoch Systemfehler 67 obwohl das bei localhost oder 127.0.0.1 garkeinen sinn macht :/

Noch eine Frage:

Wie bekomme ich es hin das dass c$ nicht unterstrichen wird am ende *_*

net use y: \\localhost\c$ (Nicht erkannte Escapesequenz.)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 10.04.12 17:32 
Bei einem Literal solltest du ein @ davor packen oder die Backslashes verdoppeln. Sonst wird Backslash als Steuerzeichen interpretiert.
Also

@"net use y: \\localhost\c$"
Geneesys Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Di 10.04.12 17:37 
Soweit so gut das mit dem @ hatte ich bereit gemacht :D aber das mit dem doppel \\ war ein guter tipp :)

Zwischenstand:

Nun sieht es bei mir so aus:

Process.Start(@"net", "use "+"Z: \\127.0.0.1\\c$");

Doch leider bekomme ich immer noch den Systemfehler 67 :/

Ich danke euch aber schonmal für eure jetzigen bemühungen (:

Doch das möchte ich unbedingt noch hinbekommen :D
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 10.04.12 17:47 
Wenn du das @ verwendest dann auch an dem string Literal wo er notwendig ist. Also da wo auch Backslashes verwendet werden.

ausblenden C#-Quelltext
1:
Process.Start("net""use "+@"Z: \\127.0.0.1\c$");					

Für diesen Beitrag haben gedankt: Geneesys
Geneesys Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Di 10.04.12 17:51 
Wahnsinn :D

GROßES danke an alle :)

PS: Ich lass die Frage aber noch offen falls ich das mit den Textboxen nicht hinbekomme was ja eig. die richtige Frage war :D

Ich muss noch den Laufwerksbuchstaben mit einer Txt Box auswählen und den Pfad durch eine Txt Box :)

Process.Start("net", "use " + @"Z: \\127.0.0.1\c$");

Ich melde mich falls es nicht klappt :D
Geneesys Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Di 10.04.12 18:06 
Jemand noch ne Idee wie ich den Laufwerksbuchstaben mit dem eintrag aus einer Text box verändern kann :/ den Pfad habe ich ja gerade noch so hinbekommen :O
ausblenden C#-Quelltext
1:
2:
3:
4:
String Buch = this.textBox1.Text;
String Pfad = this.textBox2.Text;

Process.Start("net""use " + @"Z: \\" +Pfad+ @"\c$");

Gruß
Geneesys

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 10.04.12 21:01 
Beim Buchstaben genauso wie beim Pfad? Wobei ich finde das ein string.Format lesbarer ist als diese string Verknüpfung.

ausblenden C#-Quelltext
1:
Process.Start("net""use " + Buch + @": \\" +Pfad+ @"\c$");					


ausblenden C#-Quelltext
1:
Process.Start("net"string.Format(@"use {0}: \\{1}\c$", Buch, Pfad));					


PS. Variablen schreibt man in c# klein. Deine TextBox Variablen hast du ja auch klein geschrieben.

Für diesen Beitrag haben gedankt: Geneesys
Geneesys Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36



BeitragVerfasst: Di 10.04.12 22:46 
Ich habe mir alles noch einmal in ruhe angeschaut und ich denke ich habs nun begriffen.

Ich danke dir vielmals!

Gruß
Geneesys