//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;