Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Laufwerkstyp ermitteln? (https://www.delphipraxis.net/1806-laufwerkstyp-ermitteln.html)

Sharky 25. Dez 2002 09:25


Laufwerkstyp ermitteln?
 
Hai,

wie schaffe ich es denn den Typ (Netzwer, FixDisk, Remov, CD) eines
in einer DriveComboBox gewählten Laufwerkes zu ermitteln?

Bei diesem Code bekomme ich (unter XP) immer eine EAccessViolation :cry:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
 drv_type : Integer;
 drive   : Char;
 t : String;

begin
 drive := DriveComboBox1.Drive;
 drv_type := GetDriveType (PChar (drive));
 Case drv_type of
  0: t := 'Unknown';
  1: t := 'Removable';
  2: t := 'Fixed';
  3: t := 'Network';
  4: t := 'CD-ROM';
  5: t := 'RAM Disk';
 end;
 Label1.Caption := t;
end;

Luckie 25. Dez 2002 13:27

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
drv_type : Integer;
drive   : Char;
t : String;
begin
  drive := Char(DriveComboBox1.Drive);
  drv_type := GetDriveType(PChar(drive+':\'));
  Case drv_type of
    DRIVE_UNKNOWN: t := 'Unknown';
    DRIVE_REMOVABLE: t := 'Removable';
    DRIVE_FIXED: t := 'Fixed';
    DRIVE_REMOTE: t := 'Network';
    DRIVE_CDROM: t := 'CD-ROM';
    DRIVE_RAMDISK: t := 'RAM Disk';
  end;
  Label1.Caption := t;
end;
Und immer die Konstanten aus der Windows.pas nehmen. Die Werte, die du genommen hats, waren nämlich falsch.

Sharky 26. Dez 2002 08:44

Hai Luckie,

danke! Mein Fehler lag wohl an dem fehlendem ':\'

Laut PSDK muss das nämlich nicht hin?

Aber Hauptsache es geht.

Christian Seehase 27. Dez 2002 03:02

Moin Sharky,

also wenn das in Deinem PSDK nicht drinsteht, solltest Du Dir mal ein Update besorgen:

Zitat:

Zitat von MS PSDK/GetDriveType, Parameter
Pointer to a null-terminated string that specifies the root directory of the disk to return information about. A trailing backslash is required.


Schwedenbitter 3. Feb 2004 17:14

Und mal wieder Laufwerkstyp ermitteln?
 
Kennt jemand eine Möglichkeit auch die Daten eingelegter Datenträger bei Removable oder CD- bzw. DVD-ROM zu erkennen? :?

Christian Seehase 3. Feb 2004 20:01

Re: Laufwerkstyp ermitteln?
 
Moin Schwedenbitter,

welche Daten meinst Du denn?

fkerber 3. Feb 2004 20:18

Re: Laufwerkstyp ermitteln?
 
Hi!
Ich vermute mal, er meinte dieses "Audio-CD" oder "Die eingelegte CD enthält Video-Daten".

Ciao fkerber

Matze 3. Feb 2004 20:24

Re: Laufwerkstyp ermitteln?
 
noch @Sharky: Die DP hat ne CodeLib :mrgreen:

Link

Da wärst du auch fündig geworden. ;)

Schwedenbitter 3. Feb 2004 21:06

Re: Laufwerkstyp ermitteln?
 
Die Function GetDriveType ist mir einfach zu ungenau. Ich möchte gern herausbekommen, ob es sich z.B. um ein CD-, ein DVD-Laufwerk, einen CD- oder einen DVD-Brenner handelt. Besonders schön wäre es dann noch, wenn man herausfände, was für Disk eingelegt ist. Also z.B. eine CD-R (mit welcher Größe: 74, 80 min), eine DVD+R(W), DVD-R(W), DVD-RAM oder eine DVD mit der Angabe der Layer (letzteres aber nur als extremes Schmankerl).:lol:
Der Rest steht schon bei mir und wird vielleicht auch mal zur Diskussion gestellt, wenns halbwegs fertig ist. :cheers:

DelTurbo 13. Aug 2011 23:02

AW: Re: Laufwerkstyp ermitteln?
 
Zitat:

Zitat von Matze (Beitrag 114708)
noch @Sharky: Die DP hat ne CodeLib :mrgreen:

Link

Da wärst du auch fündig geworden. ;)

SCHADE!!!! Der link geht nichtmehr.... Kann man sowas eventuell Fixen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz