vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Umbenennen eines vorhandenen Netzlaufwerks 
Autor: AronD
Datum: 25.10.12 13:04

Hallo Zusammen,

Ich möchte Euch gerne um Hilfe bitten.

mein Problem:
Ich möchte ein verbundenes Netzlaufwerk umbenennen

meine Umgebung:
Zur Softwareentwicklung nutze ich VS 2012 auf einem Windows 8 Notebook

meine Unternehmungen:
Habe einen Verweis auf die Shell32.dll erstellt
und möchte nun mit folgendem Code das Laufwerk umbenennen:

Dim objApp As New Shell32.Shell
objApp.NameSpace("R:").Self.Name = "Externer-Speicher"

So hat es mal unter Windows XP funktioniert.
Nun bekomme ich immer eine NullReferenceException mit dem Hinweis
"Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt".

Weiß einer von Euch Rat?

Ich Danke Euch schon einmal im Voraus.

Gruß
AronD
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: Rippler
Datum: 25.10.12 14:13

        Dim objShell As Object
        objShell = CreateObject("Shell.Application")
        objShell.NameSpace("R:").Self.Name = "Externer-Speicher"
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: AronD
Datum: 26.10.12 12:22

Hallo Rippler,

vielen Dank für Deinen Code.
Das funktioniert leider auch nicht, es kommt der gleiche Fehler.

Gruß
AronD
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: AronD
Datum: 05.11.12 11:23

Niemand eine Idee?

Gruß
AronD
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: ModeratorDaveS (Moderator)
Datum: 05.11.12 11:47

Nein, der Code läuft unter Win7, sollte auch unter Win8 klappen (ist ja nichts anderes).
Sicher, dass "R:" gemappt ist?

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: AronD
Datum: 05.11.12 12:07

Ja, das Laufwerk ist gemappt.

Gruß
AronD
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: ModeratorDaveS (Moderator)
Datum: 05.11.12 12:52

Dann solltest du zuerst mit dem Debugger schauen wo der Fehler passiert. Wird das Shell32-Objekt angelegt? Oder wird der Namespace nicht gefunden? Einfacher eventuell wenn du den Code leicht umschreibst
Dim objApp As New Shell32.Shell
Dim objFolder As Shell32.Folder = objApp.NameSpace("R:")
objFolder.Self.Name = "Externer-Speicher"

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: ModeratorDaveS (Moderator)
Datum: 05.11.12 12:58

Einige recherchen im Internet deuten darauf hin, dass solcher Code momentan nur unter Win8 klappt wenn unter Win7 umgewandelt (läuft dann unter Win7 und Win8). Allerdings solltest du eine InvalidCastException bekommen.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: AronD
Datum: 05.11.12 13:15

Danke für Deine Hilfe.
Mir ist gerade was aufgefallen. Ich habe meinen Code auf ein "echtes" Laufwerk also einer Festplatte angewendet, damit funktioniert es ohne Probleme.
Mit dem Netzlaufwerk geht es nicht.
Werde mal Deinen abgeänderten Code versuchen.

Gruß
AronD
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: AronD
Datum: 05.11.12 13:17

Mit diesem Code gehts auch nicht.
Es liegt irgendwie daran das er das Netzlaufwerk nicht findet.

Gruß
AronD
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: AronD
Datum: 05.11.12 14:42

Wenn folgenden Code benutze, welcher zum auflisten von Laufwerken geeignet ist, wird das Netzlaufwerk nicht aufgeführt.

For Each Drive As IO.DriveInfo In IO.DriveInfo.GetDrives
                    If Drive.DriveType = IO.DriveType.Network Then
                        If Drive.IsReady Then
                            ' wenn Gerät bereit, Laufwekrsbuchstabe und 
                            ' VolumeLabel anzeigen
                            MessageBox.Show(Drive.Name & " [" & _
                              Drive.VolumeLabel & "]")
                        Else
                            ' andernfalls nur Laufwerksbuchstabe anzeigen
                            MessageBox.Show(Drive.Name & " [nicht bereit]")
                        End If
                    End If
                Next
Kann es sein, da das Programm mit Admin-rechten laufen muss, dass Netzlaufwerk nicht angezeigt wird, da Netzlaufwerke Benutzer bezogen sind ?

Beitrag wurde zuletzt am 05.11.12 um 14:48:27 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: AronD
Datum: 05.11.12 15:18

Es liegt tatsächlich an den Admin rechten.
Lass ich das im User Kontext laufen wird das Laufwerk gefunden.

Jetzt brauche ich eine Idee wie ich das Programm mit Admin rechten laufen lassen kann aber trotzdem an der Stelle mit dem Netzlaufwerk, in die Benutzerumgebung wechseln kann.

Gruß
AronD
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: ModeratorDaveS (Moderator)
Datum: 05.11.12 18:05

Also, ich habe gerade mit VS2012 und Win8 Pro getestet mit einem mapped Netzlaufwerk und es klappt mit einem ganz normalen Benutzer. Ich schätze dein Laufwerk ist doch nicht unter dem User gemappt.

Wenn ein Drive unter Admin gemappt wurde wird es nur als Admin sichtbar sein.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Umbenennen eines vorhandenen Netzlaufwerks 
Autor: AronD
Datum: 05.11.12 19:42

Ja so ist es, hatte es hier schon geschrieben.
http://www.vbarchiv.net/forum/id22_i89853t89759_umbenennen-eines-vorhandenen-netzlaufwerks.html

Danke Dir.

Gruß
AronD
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel