Ich würde die Funktion DriveIsReady ändern. Es gibt eine Funktion mit der man sich alle Laufwerksbuchstaben zurück geben lassen kann. Vielleicht gibt diese andere Werte zurück.
GetLogicalDriveStrings gibt mir alle Laufwerke wieder, allerdings auch die getrennten Netzlaufwerke.
Was anderes hab ich noch nicht gefunden.
Ansonsten: Wenn du sowieso jedes Laufwerk einzeln prüfst ob es belegt ist, kannst du auch in einer Schleife alle Buchstaben durchlaufen und versuchen ein Netzlaufwerk zu verbinden bis kein Fehler zurück gegeben wird.
Hmmm ... könnte man tun, finde ich aber nicht so toll.
Und es bleibt immer noch die Tatsache, dass der Laufwerksbuchstabe im Explorer sichtbar bleibt.
Muß ja in meinem Fall nicht jeden sehen, dass da ein Netzlaufwerk gemappt wurde.