AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Freigegebene Festplatten eines PCs ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Freigegebene Festplatten eines PCs ermitteln

Ein Thema von Salomon · begonnen am 6. Mai 2003 · letzter Beitrag vom 18. Jan 2021
 
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.123 Beiträge
 
Delphi 11 Alexandria
 
#10
  Alt 9. Mai 2003, 17:23
Moin Salomon,

Du hast Dich durchgängig an die Deklarationen für 9x/ME gehalten, zum einen was das Einbinden der Funktion, zum anderen, was die verwendete Struktur angeht.
Für XP musst Du aber die NT/2000/XP Versionen verwenden.


Delphi-Quellcode:
const
  NERR_Success = 0;
  MAX_PREFERRED_LENGTH = DWORD(-1);

type
  NET_API_STATUS = type DWORD;

  PSHARE_INFO_0 = ^SHARE_INFO_0;
  SHARE_INFO_0 =
    packed record
      shi0_netname : PWChar;
    end;

function NetApiBufferFree(
    const Buffer : Pointer
    ) : NET_API_STATUS; stdcall; external 'netapi32.dll';

function NetShareEnum(
    const servername : PWChar;
    const level : DWord;
    const bufptr : Pointer;
    const prefmaxlen : DWord;
    const entriesread : PDWord;
    const totalentries : PDWord;
    const resume_handle : PDWord
    ) : NET_API_STATUS; stdcall; external 'netapi32.dll';


var
  si0Work : PSHARE_INFO_0;
  si0Save : PSHARE_INFO_0;
  dwEntriesRead : DWORD;
  dwTotalEntries : DWORD;
  i : DWORD;

begin
  if NetShareEnum(nil,0,@si0Work,MAX_PREFERRED_LENGTH,@dwEntriesRead,@dwTotalEntries,nil) <> Nerr_Success then exit;
  try
    si0Save := si0Work;
    for i := 1 to dwEntriesRead do
    begin
      ComboBox1.Items.Add(si0Save.shi0_netname);
      inc(si0Save);
    end;
  finally
    NetApiBufferFree(si0Work);
  end;
end;
Wichtig hierbei:
Ich verwende für die Funktionsdeklarationen immer die C-typische Variante, während die Jedis, meines Wissens, immer die Borland typische Variante nehmen (var Parameter)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz