AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Handle einer Festplatte -> Festplattengröße
Thema durchsuchen
Ansicht
Themen-Optionen

Handle einer Festplatte -> Festplattengröße

Ein Thema von SleepyMaster · begonnen am 29. Jun 2004 · letzter Beitrag vom 30. Jun 2004
Antwort Antwort
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#1

Handle einer Festplatte -> Festplattengröße

  Alt 29. Jun 2004, 13:17
Hi ihrs

Hab mir mit
FHandle:=CreateFile('\\.\PHYSICALDRIVE0',GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); ein gültiges Handle auf meine Festplatte geholt.

Nur wenn ich mit
FileSizeLow:=GetFileSize(FHandle,nil); nun die Größe holen will, bekomme ich immer INVALID_FILE_SIZE zurück.

Zitat von MSDN:
You cannot use the GetFileSize function with a handle of a nonseeking device such as a pipe or a communications device. To determine the file type for hFile, use the GetFileType function.
Weiß jemand eine Lösung, wie ich von dem Handle einer Festplatte die Festplattengröße herausfinden kann???

[EDIT]Mit GetFileInformationByHandle gehts auch nicht[/EDIT]

Vielen Dank schon mal
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2

Re: Handle einer Festplatte -> Festplattengröße

  Alt 29. Jun 2004, 14:27
Hier steht ein Beispiel wie man die Festplattengröße mit GetDiskFreeSpaceEx herausbekommt.
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#3

Re: Handle einer Festplatte -> Festplattengröße

  Alt 29. Jun 2004, 17:09
OK! Danke.

Aber:
1. Suche ich die gesamte Größe der Festplatte
2. Nicht die einer Partition

Hab das Programm SysInfo3.2 von Luckie gefunden.
Dieses Programm kann genau das was ich suche.

Werde es mal analysieren.
  Mit Zitat antworten Zitat
w3seek
(Gast)

n/a Beiträge
 
#4

Re: Handle einer Festplatte -> Festplattengröße

  Alt 30. Jun 2004, 11:27
Probiers mal hiermit: http://msdn.microsoft.com/library/de...e_geometry.asp

sollte sehr einfach zu realisieren sein.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Handle einer Festplatte -> Festplattengröße

  Alt 30. Jun 2004, 11:29
Zitat von w3seek:
sollte sehr einfach zu realisieren sein.
Wenn man die nötigen Header hat:
Zitat:
Header: Declared in Winioctl.h.
Ist aber mit den Jedis-Headerübersetzungen wirklich kein Problem.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
w3seek
(Gast)

n/a Beiträge
 
#6

Re: Handle einer Festplatte -> Festplattengröße

  Alt 30. Jun 2004, 14:17
Zitat von Luckie:
Wenn man die nötigen Header hat:
Ich finds traurig und schon fast ne frechheit dass borland diese Header nicht uebersetzt. Ausserdem sind die Deklarationen mancher Funktionen nicht ganz korrekt, z.b. verwenden sie var Parameter: Typ; manchmal sogar dann, wenn laut PSDK ausdruecklich erlaubt ist auch NULL (also nil) zu uebergeben. Da bleibt einem dann wieder nichts anderes uebrig als die funktion selbst korrekt zu importieren. Oder manche records sind voellig falsch uebersetzt (z.b. TTriVertex fuer GradientFill())
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#7

Re: Handle einer Festplatte -> Festplattengröße

  Alt 30. Jun 2004, 19:30
IOCTL_DISK_GET_DRIVE_GEOMETRY:

Über genau den Weg hab ichs jetzt gemacht. Ist wirklich sehr einfach - Man muss nur erst drauf kommen.

Falls jemand den Code will bitte melden poste den dann (ist am Laptop und ich grad am PC)

Vielen Dank an alle!!!
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: Handle einer Festplatte -> Festplattengröße

  Alt 30. Jun 2004, 20:44
Zitat von w3seek:
Ich finds traurig und schon fast ne frechheit dass borland diese Header nicht uebersetzt. Ausserdem sind die Deklarationen mancher Funktionen nicht ganz korrekt, z.b. verwenden sie var Parameter: Typ; manchmal sogar dann, wenn laut PSDK ausdruecklich erlaubt ist auch NULL (also nil) zu uebergeben.
Und nicht zu vergessen, die Fehler, die sich seit Delphi 3 (oder sogar noch eher) durchziehen. Die Fixes bleiben dann bei engagierten Anwendern wie den JEDIs usw. (usw. stellt keine Abwertung anderer, nicht genannter Leute dar!) hängen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:42 Uhr.
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