Listing 6


//einlesen und setzen von Laufwerksnamen

unit Volume;

interface

uses
   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
   TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   Edit1: TEdit;
   Label1: TLabel;

   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
private
   { Private-Deklarationen }
public
   { Public-Deklarationen }
end;

var
   Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var Path: string;
      DiskName: array[0..127] of char; //nimmt den Namen der Disk auf, max. 128 Zeichen
      dummy: DWord;

begin
Path:='A:\';
FillChar(DiskName, SizeOf(DiskName), ' '); //Puffer mit Leerzeichen belegen
dummy:=0;

//mit API-Funktion Disknamen in Puffer einlesen
if GetVolumeInformation(PChar(Path), DiskName, 128, nil, dummy, dummy, nil, 0) then
   if Trim(DiskName)<>'' then Edit1.Text:=Trim(DiskName) else Edit1.Text:='Kein Name';

end;

procedure TForm1.Button2Click(Sender: TObject);
var Path: string;
      DiskName: array[0..127] of char;

begin
Path:='A:\';
StrPCopy(DiskName, Edit1.Text); //String kopieren

SetVolumeLabel(PChar(Path), DiskName); //Disknamen setzen
end;

end.

Zurück zur Hauptseite