Autor |
Beitrag |
Geneesys
      
Beiträge: 36
|
Verfasst: Di 10.04.12 14:58
Hey ho,
Ich möchte gerne in C# mit einem Code ein Netzlaufwerk verbinden:
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:
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 Th69: Code und C#-Tags hinzugefügt
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Di 10.04.12 15:10
Anstatt ein Shell Kommando abzusetzen solltest du vielleicht einfach direkt die Windows API benutzen.
Z.B. WNetAddConnection2
|
|
Geneesys 
      
Beiträge: 36
|
Verfasst: 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
      

Beiträge: 4796
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Di 10.04.12 16:16
Da scheint nur ein Leerzeichen (nach dem "use") zu fehlen:
C#-Quelltext 1:
| Process.Start("net", "use "+"Z: \\172.16.3.29"); |
|
|
Geneesys 
      
Beiträge: 36
|
Verfasst: 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
      

Beiträge: 4796
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: 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.
Quelltext 1:
| net use z: \\127.0.0.1\temp |
|
|
Geneesys 
      
Beiträge: 36
|
Verfasst: 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
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: 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 
      
Beiträge: 36
|
Verfasst: Di 10.04.12 17:37
Soweit so gut das mit dem @ hatte ich bereit gemacht  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 
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: 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.
C#-Quelltext 1:
| Process.Start("net", "use "+@"Z: \\127.0.0.1\c$"); |
Für diesen Beitrag haben gedankt: Geneesys
|
|
Geneesys 
      
Beiträge: 36
|
Verfasst: Di 10.04.12 17:51
Wahnsinn
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
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 
|
|
Geneesys 
      
Beiträge: 36
|
Verfasst: 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
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 Th69: C#-Tags hinzugefügt
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Di 10.04.12 21:01
Für diesen Beitrag haben gedankt: Geneesys
|
|
Geneesys 
      
Beiträge: 36
|
Verfasst: 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
|
|