Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

GetDriveType gibt 4 aus trotz keiner Verbindung

Sovebämse / 10 Antworten / Flachansicht Nickles

Hallo zusammen

Ich möchte in einem Programm (C++) abfragen, ob ein Netzlaufwerk verbunden ist. Dies habe ich über GetDriveType realisiert. Leider ist es so, dass dieser Befehl sporadisch aber häufig trotz keiner bestehenden Verbindung (selbst nach Neustart) eine 4 ausgibt statt einer 1. Was kann der Grund sein?

Vielen Dank
Thomas

bei Antwort benachrichtigen
Sovebämse Nachtrag zu: „Mir ist nun was aufgefallen: Es geht hier um eine Verbindung zu einem Netzlaufwerk einer Schule. Wir haben dazu ...“
Optionen

Ich muss den Post oben korrigieren, kann ihn aber nicht mehr bearbeiten:

Ich habe nun mal was probiert:

Im Konsolenprogramm funktioniert ohne "net use" Befehl die Ausgabe zuverlässig. D.h. er meldet immer "kein Laufwerk". Im richtigen Programm, wo also kurz nach (ich hab extra noch 1 Sekunde Wartefrist nach Befehl eingebaut) dem Befehl "net use" wieder geschaut wird, ob der Laufwerksbuchstabe vorhanden ist, kommt immer noch sporadisch "Anmeldung geglückt", obwohl das nicht so ist.

Ich habe jetzt mal parallel zum richtigen Programm das Konsolenprogramm in einer Dauerschleife laufen lassen, während ich im richtigen Programm die Passworteingabe und das Ausführen des "net use" Befehls durchgeführt habe. Und siehe da, auf einmal tauchen in der kurzen Phase falsche Werte auch im Konsolenprogramm auf und zwar auch sporadisch. Manchmal hat er hintereinander sehr viele Male ein "ist verbunden" gemeldet, manchmal nur 1 Mal. Somit scheint die Ursache im "net use" Befehl zu liegen. Anscheinend meldet das System kurzzeitig den Laufwerksbuchstaben, obwohl die Verbindung gar nicht zustande gekommen ist. Hat jemand eine Idee, warum das so ist und wie man Abhilfe schaffen könnte?

Gruss und Dank
Thomas

bei Antwort benachrichtigen