Announcement

Collapse
No announcement yet.

Hardwaredaten auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hardwaredaten auslesen

    Hallo,

    wie kann man z.B. den Typ und die Seriennummer des CD-LW ermitteln?

    Unter http://components.delphipage.de gibt es eine Komponente (TSystemInfo2000X 2.05) die das alles schon können soll.

    Ist es nicht möglich, mit nur ein oder zwei Zeilen im Quelltext (Delphi 5) ein Gerät auszulesen?

    Mit freundlichen Grüssen <br>
    Matthias Dames

  • #2
    Hi

    Nein, eher sind es 350 Zeilen Quelltext. Aber das was Du vorhast scheitert an einen wesentlichen Punkt: die meisten, um nicht zu sagen alle CD Drive, besitzen im Controlblock keine Serialnummer. Das einzigste was informativ ist sind der Hersteller und die Geräteversion, aber eine eindeutige Serialnummer wie bei IDE-HD's gibts da garnicht. Wir haben an der Arbeit eine solche Unit getestet und kein einzigstes CD ROM Drive in unserer Firma besitzt eine Serialnummer.

    Gruß Hage

    Comment


    • #3
      Hallo,

      Danke für die Antwort. Ich hatte mir das viel leichter vorgestellt. Dann ist also schon das Erfassen von Hersteller und Modell (ohne Seriennummer) so aufwendig?

      Gruss Matthia

      Comment


      • #4
        Um exakter zu sein: mein Source ist genau 386 Zeilen lang und es existieren verschiedene Wege:
        <li>der "offizielle" nutzt DeviceIOControl des SMART API
        <li>der "brute force" weg programmiert die Controller Hardware
        <li>ein anderer wäre die Herstellespezifischen tools/API

        Die Controller Harware zu programmieren klappt, habe ich schon für Win9x und 2000/NT gecodet. Allerdings das werden mehr als 300 Zeilen und es gibt derart massive Probleme das man solch einen Code nicht in kommerziellen Projekten einsetzen sollte. Nur eins dieser problem ist das das System und dessen Treiber die gleiche Hardware teilen wie Dein eigener Ansteuerungscode, das kann bis zur physikalische Zerstören des Drives oder zumindest Partition führen. In meinem Code gabs nur ab und zu Synchronisierung-Probleme
        Zudem muß immer zwischen Win9x und 2000/NT unterschieden werden, wo beim Win9x noch per Tricks von Ring3 auf Ring0 umgeschaltet werden kann (um die Ports auslesen zu können) muss bei 2000/NT immer ein Treiber gecodet werden.

        Die Hersteller-Treiber sind rar und echt nicht zu empfehlen.

        Bleibt nur noch der Weg über das SMART (Win9x) und dieses ist NICHT regulärer Bestandteil des Systems bzw. arbeitet NUR mit den HD-Treibern von MS zusammen. NT/2000 ist das schon besser dran, hat aber ein anderes problem: Du musst für die meisten Lösungen als Admin eingeloggt sein. Es gibt aber auch da einen Weg.
        Achso: das SMART hat unter Win9x Probleme überhaupt ein CD-Drive zu erkennen, das liegt daran das CD-Controller wesentlich "träger" sind und dadurch die Responszeiten länger dauern. Das SMART berücksichtigt das nicht !! was wohl über dessen Qualität einiges aussagt.

        Gruß Hage

        Comment


        • #5
          Nochmal Danke für die ausführliche Antwort. Aber um ehrlich zu sein, von dem Text habe ich nur 20% verstanden. Aber das reicht mir auch schon. Ich werde wahrscheinlich nie versuchen sowas selbst zu schreiben, da ich zwar mit Computern arbeite, aber nicht beruflich programmiere.
          Also, nochmals vielen Dank.

          Gruss<br>
          Matthia

          Comment

          Working...
          X