Einzelnen Beitrag anzeigen

MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#33

AW: Freigegebene Festplatten eines PCs ermitteln

  Alt 18. Jan 2021, 17:00
Inzwischen habe ich auf "shi2_type" geschaut. Somit kann ich schon mal diese C$,D$,ADMIN$,IPC$ ausblenden lassen (sie haben den Wert "[Disk] und [Special]"). Dagegen haben meine hinzugefügten Ordner nur den Wert "[Disk]". Damit kann man "shi2_type" auswerten lassen.
Delphi-Quellcode:
const
    STYPE_DISKTREE = 0;
    STYPE_PRINTQ = 1;
    STYPE_DEVICE = 2;
    STYPE_IPC = 3;
    STYPE_TEMPORARY = $40000000;
    STYPE_SPECIAL = $80000000;

function ShareTypeToStr(SType : DWORD) : String;
begin
    case SType and $FFFF of
    STYPE_DISKTREE: Result := '[Disk]';
    STYPE_PRINTQ: Result := '[Printer]';
    STYPE_DEVICE: Result := '[Device]';
    STYPE_IPC: Result := '[IPC]';
    else
                     Result := '[Type0x' + IntToHex(SType, 8) + ']';
    end;
    if (SType and STYPE_SPECIAL) <> 0 then
        Result := Result + '[Special]';
    if (STYpe and STYPE_TEMPORARY) <> 0 then
        Result := Result + '[Temporary]';
end;
Leider hat nun ein Drucker (print$) kein "[Special]" dabei. Nur "[Disk]". Dieser Eintrag sollte natürlich auch als nicht hinzugefügten freigegebenen Ordner erkannt werden. Aber ich bin ja schon mal weiter. Ich frage mich auch, was "[Temporary]" sein kann, um damit mal zu testen.

Mir ist das mit dem Netzwerk-Zeugs alles noch etwas unlogisch. Keine Erfahrung damit. Habe auch nur einen PC. Bei der Funktion "NetShareEnum" kann man anstatt "nil" (steht ja für Lokal) auch einen Computernamen angeben. Wie kann ich damit denn mal herumtesten?
  Mit Zitat antworten Zitat