Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO) (https://www.delphipraxis.net/28653-s-m-r-t-der-s-m-r-t-reader-tech-demo.html)

Kernel32.DLL 27. Aug 2004 14:10


Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Liste der Anhänge anzeigen (Anzahl: 2)
Be S.M.A.R.T. - Tech Demo

Be S.M.A.R.T. ist ein Programm, das die S.M.A.R.T. - Werte aller Festplatten ab dem Jahre 2000 ausliest.

Bei dieser Version handelt es sich um die Tech - Demo.

Mit dem Release dieser Version würde ich gerne sicherstellen, dass es auf allen in der Readme genannten Betriebssysteme unter der Voraussetzung der richtigen Hardware ordnungsgemäß funktioniert.

(Das war das Formale)

Eigentlich wollte ich das Beispielprogramm, das Microsoft als S.M.A.R.T. - Demo verwendet, nach Delphi übersetzen.
Dank der Hilfe im Forum und der sehr Umfangreichen Hilfe von "Alter Mann", dem ich an dieser Stelle noch einmal recht herzlich danken möchte, ist die Übersetzung an sich zwar gelungen, allerdings kläglich an einem falschen Parameter und schließlich an einer "Access Violation" gescheitert.

Also habe ich mir überlegt, aus der Exe eine DLL zu machen, die ich dann mit Delphi aufrufen könnte. Kenntnisse über DLL-Programmierung in Delphi waren zwar vorhanden, Kenntnisse über DLL's in C++ aber nicht.

Nichtsdestowenigertrotz habe ich es dann doch hinbekommen, das wenigsten eine Funktion, nämlich die wichtigste, aus der DLL exportiert werden konnte. Hierbei scheiterte aber die Übergabe von Variablen, so dass ich diesen, etwas umständlicheren Weg gehe:

Programm -> lädt Main der -> DLL -> schreibt die Werte -> Textdatei -> wird vom Programm


Sollte also jemand ein gutes Tut für DLL's in C++ bzw. C++ - DLL's in Delphi kennen, möge er mich dies wissen lassen. :zwinker:

(Zurück zum Programm)

Wie Eingangs erwähnt handelt es sich um eine "Tech - Demo", die lediglich zum Testen der Funktionsweise dient und mir Hinweise auf etwagige Fehler in der Grundstruktur geben soll.


Was das Programm bis jetzt kann:

- Lesen der S.M.A.R.T. - Werte

- Anzeigen zusätzlicher Infos (Festplattentyp, Zahl der Zylinder, Zahl der Köpfe...)

- Anzeigen der Festplattentemperatur in der TNA (evtl. nur bei Seagate - Modellen)


Was es noch können wird:
- Autostart

- Optionale Anzeige der Festplattentemperatur in der TNA (bei allen Modellen, die dies

unterstützen)

- Prüfung der Werte in bestimmten Intervallen

- Optionale audiovisuelle Hinweise auf Attributänderungen

- Unterscheiden zwischen wichtigen und weniger wichtigen Werten

- Netzwerktauglichkeit über spezielles Admintool zum überwachen kompletter Netzwerke.

- Namensgebung von Eigenschaften, die jeder Hersteller optional einbauen kann.


Bekannte Probleme:

Es ist noch keine Fehlerprüfung implementiert, weshalb es evtl. zu merkwürdigen Werten kommen kann.


Um mich bei der Entwicklung des Programmes zu unterstützen, bitte ich um Folgendes:
Testet das Programm unter sovielen Systemen wie möglich (oder wie ihr Lust und Zeit habt) und hängt entweder die "smart.smt", die sich im Arbeitsverzeichniss des Programms befindet und zusätzlich eine Beschreibung des/der PC's nach diesem Schema:

OS:
Art und Menge der Festplatten:
Festplattenhersteller:

an euren Post oder schickt beides an:
pingofdeath1986@web.de <= meine Spamadresse, insofern kann ich sie veröffentlichen und jeder Mailbot kann sie finden :mrgreen: .

Es sei noch zu erwähnen, dass unter NT-Systemen nur die erste Festplatte abgefragt wird (wird
noch gefixt!). Bei 9x und Me sollten alle abgefragt werden.

[EDIT 1] Zum Ausführen des Programmes werden unter NT-Systemen Adminrechte benötigt![/EDIT 1]
[EDIT 2] Die unter Win9x/ME benötigte Datei SMARTVSD.VXD befindet sich u.U. im Ordner /Windows/System
Sie muss in den Ordner /Windows/System/iosubsys verschoben werden![/EDIT 2]

Alexander 27. Aug 2004 14:28

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
konnte es nur auf meinem betagten Schlepptop testen.
OS: 2000 Prof.
1x IBM-Notebook-Platte

PS: Ich hoffe mal, in der DAtei sind keine "geheimen" Infos wie Windows-Key oder so was ;-), habe sie nämlich nicht geöffnet...

NicoDE 27. Aug 2004 14:39

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Liste der Anhänge anzeigen (Anzahl: 2)
Microsoft Windows XP
Professional
Version 2002
Service Pack 1

c113plpbr 27. Aug 2004 14:42

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Ääähhhm ... entweder steht meine festplatte kurz davor in rauch aufzugehen, oder dein programm funktioniert nicht ... bei mir stehen alle werte auf dem gleichen wie worst ... es wird außerdem nur eine festplatte angezeigt (ich hab 2 ... vielleicht liegt es auch daran, dass die 2. etwas älter als 2000 is ...) ... dein programm findet übrigens auch keine partitionen, wovon eigentlich genügend vorhanden sind ...

Meine Unterstützung :mrgreen: :
OS: Win XP SP2 (beta ... ich krieg sie nimmer runter :evil: )
Festplatten: da müsste eine Western Digital (40GB) drinhängen und ne Maxtor (30GB, etwas älter), ich weis aber nix genaues darüber ... was meinst du mit art???

Anhang (smart.smt) kommt per PN

ciao, Philipp

Uncle Cracker 27. Aug 2004 14:48

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Zitat:

Zitat von c113plpbr
es wird außerdem nur eine festplatte angezeigt (ich hab 2 ... vielleicht liegt es auch daran, dass die 2. etwas älter als 2000 is ...)

Meine Unterstützung :mrgreen: :
OS: Win XP SP2

Wer lesen kann ist klar im Vorteil :zwinker:

Zitat:

Zitat von Kernel32.DLL
Es sei noch zu erwähnen, dass unter NT-Systemen nur die erste Festplatte abgefragt wird (wird noch gefixt!). Bei 9x und Me sollten alle abgefragt werden.


c113plpbr 27. Aug 2004 14:53

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Zitat:

Zitat von Uncle Cracker
Wer lesen kann ist klar im Vorteil :zwinker:

Da habbich wohl konkret was überlesen ... :oops:

sakura 27. Aug 2004 14:56

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Liste der Anhänge anzeigen (Anzahl: 3)
Auf Windows 2003 Server geht nix. Screens anbei.

...:cat:...

fkerber 27. Aug 2004 15:03

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
HI!

@Sakura:
Den Fehler habe ich auch. Scheint daran zu liegen, dann die SMARTVSD.VXD nicht in \windows\system\iosubsys liegt.

Ciao Frederic

P.S.: Wo gibts die Datei?

Luckie 27. Aug 2004 16:06

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Bei mir Kommt:
Zitat:

---------------------------
Be S.M.A.R.T.
---------------------------
Datei smart.smt kann nicht geöffnet werden.
---------------------------
OK
---------------------------
Windows2000 SP4.

Daten sehe ich dann auch keine.

NicoDE 27. Aug 2004 16:12

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Liste der Anhänge anzeigen (Anzahl: 2)
Und das gleiche nochmal unter:

Microsoft Windows XP
Professional x64 Edition
Version 2003 (Debug)
Service Pack 1, v. 1218+

mirage228 27. Aug 2004 16:32

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi ho

Win XP Prof. SP2
IBM ICL35L060AVER07-0 60 GB, 7.2 RPM

mfG
mirage228

Kernel32.DLL 27. Aug 2004 16:51

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Danke für die zahlreichen Tests in so kurzer Zeit! Nur weiter so!!!

Zitat:

Zitat von Alexander
PS: Ich hoffe mal, in der DAtei sind keine "geheimen" Infos wie Windows-Key oder so was , habe sie nämlich nicht geöffnet...

Keine Angst, sowas hab' ich nicht nötig :zwinker:


Zitat:

Zitat von Luckie
---------------------------
Be S.M.A.R.T.
---------------------------
Datei smart.smt kann nicht geöffnet werden.
---------------------------
OK
---------------------------

Hmm... Eigentlich sollte sich die Datei im Arbeitsverzeichniss des Programms befinden, da sie beim ersten Aufruf der DLL automatisch erstellt wird. Schonmal nach der Datei gesucht? Ansonsten hilft es vielleicht, die Datei selbst zu erstellen *Nach Ursache Forsch*

@sakura: Beim Lesen der S.M.A.R.T. - Werte aus der "smart.smt" ist etwas schief gelaufen!
Die Datei könnte aufschluss bringen *haben muss*

scp 27. Aug 2004 16:53

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Microsoft Windows XP
Home Edition
SP2 Final

Festplatten:
WDC WD205AA-00BAA0
WDC WD300BB-00AUA1


Die WD205AA wird nicht erkannt.

Kernel32.DLL 27. Aug 2004 18:24

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Was mir grad noch auffiel:

Zitat:

Zitat von c113plpbr
Ääähhhm ... entweder steht meine festplatte kurz davor in rauch aufzugehen, oder dein programm funktioniert nicht ... bei mir stehen
alle werte auf dem gleichen wie worst

Ja, wunderbar! Das bedeutet nämlich, das alle Werte, die gerade gelesen wurden, zugleich auch die schlechtesten sind, die deine Festplatte je aufgezeichnet hat. Ich würde mich freuen, zumal sie von den Grenzwerten weit weg liegen :mrgreen:

Luckie 27. Aug 2004 19:49

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Zitat:

Zitat von Kernel32.DLL
Zitat:

Zitat von Luckie
---------------------------
Be S.M.A.R.T.
---------------------------
Datei smart.smt kann nicht geöffnet werden.
---------------------------
OK
---------------------------

Hmm... Eigentlich sollte sich die Datei im Arbeitsverzeichniss des Programms befinden, da sie beim ersten Aufruf der DLL automatisch erstellt wird. Schonmal nach der Datei gesucht? Ansonsten hilft es vielleicht, die Datei selbst zu erstellen *Nach Ursache Forsch*

Genau da liegt sie auch.

Kernel32.DLL 27. Aug 2004 19:55

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
:wall: Verdammt!!

Wieso kann ich denn nicht lesen:

Zitat:

Zitat von Luckie
---------------------------
Be S.M.A.R.T.
---------------------------
Datei smart.smt kann nicht geöffnet werden.
---------------------------
OK
---------------------------

geöffnet nicht gefunden

Hat da vielleicht ne' DLL sie nicht ordnungsgemäß geschlossen?

Ich pflück den C Code mal (wieder) auseinander

Brüggendiek 28. Aug 2004 00:06

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Hallo!

Zitat:

Zitat von Luckie
---------------------------
Be S.M.A.R.T.
---------------------------
Datei smart.smt kann nicht geöffnet werden.
---------------------------
OK
---------------------------

Bei mir klappt das auch teilweise nicht!

WinXP Home, SP2
Als Benutzer: Fehler! (Datei wird aber ggf. neu angelegt)
Als Admin: klappt!
Verknüpfung auf Desktop, Userrechte und Ausführen als Admin: klappt!

Was soll das - kann man die Infos nur mit Admin-Rechten auslesen, gehört das in die ReadMe und man sollte das Programm mit einer passenden Meldung beenden, wenn keine Admin-Rechte da sind.

Woher kriege ich übrigens die für 9x erforderliche Datei im Windows-System laut ReadMe? Mein 98SE hat die nicht, da kommt auch der bekannte Fehler!

Ursache des Fehlers ist offensichtlich ein Problem mit der VXD und einer Exception, die falsch abgefangen wurde.

Gruß

Dietmar Brüggendiek
edit: arggh - das ist ja keine DLL, sondern ne VXD

Muetze1 28. Aug 2004 01:18

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Moin!

Ansonsten noch ein Code der dir vielleicht hilft. Zum einen kannst du dir damit die DLLs sparen und alles im Delphi Programm machen und zum anderen kannst du damit direkt ATA/ATAPI Befehle an die Geräte schicken. Näheres dazu hier bei der c't "Plattendressur". Zwei Projekte samt Quellcodes.

MfG
Muetze1

Kernel32.DLL 28. Aug 2004 10:50

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Zitat:

Zitat von Brüggendiek
Was soll das - kann man die Infos nur mit Admin-Rechten auslesen, gehört das in die ReadMe und man sollte das Programm mit einer passenden Meldung beenden, wenn keine Admin-Rechte da sind.

Gut, mein Fehler, bin davon ausgegangen, dass man als Programmierer ein Konto mit Adminrechten hat, werde meinen Post entsprechend bearbeiten, obwohl ich vielleicht indirekt drauf verwiesen hab':

Zitat:

Zitat von Kernel32.DLL
Es ist noch keine Fehlerprüfung implementiert...

Zitat:

Zitat von Brüggendiek
Woher kriege ich übrigens die für 9x erforderliche Datei im Windows-System laut ReadMe? Mein 98SE hat die nicht, da kommt auch der bekannte Fehler!

[Laufwerk]/Windows/System/Smartvsd.vxd <= Dort sollte sie liegen, ansonsten hilft die Windows Suchfunktion
muss nach
[Laufwerk]/Windows/System/iosubsys/Smartvsd.vxd
verschoben werden.

(Ist übrigens nicht meine Schuld, sondern die von Microsoft)

Zitat:

Zitat von Brüggendiek
und einer Exception, die falsch abgefangen wurde.

Exceptions werden in der TECH-DEMO nicht abgefangen, wie ich bereits am Anfang des Themas erwähnte.


mfg
Daniel

Kernel32.DLL 28. Aug 2004 11:25

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
@Muetze1:

Danke für den Link, allerdings hilft er mir nicht sehr viel weiter...

Was ich bräuchte, wäre ein gutes Tutorial über DLL-Programmierung in C++ und ein gutes Tutorial über den Aufruf von C++ DLL's in Delphi mit übergabe aller Parameter und Variablen in beide Richtungen (Programm => DLL und DLL => Programm) Dann könnte ich mir die smart.smt sparen und würde mich etwas sicherer fühlen.

An sich ist der Microsoft Source nämlich nicht schlecht, die Übersetzung nach Delphi scheiterte nur (siehe meinen 1. Post)

Luckie 28. Aug 2004 11:29

Re: Be S.M.A.R.T. - Der S.M.A.R.T. Reader (TECH DEMO)
 
Zitat:

Zitat von Kernel32.DLL
Zitat:

Zitat von Brüggendiek
Was soll das - kann man die Infos nur mit Admin-Rechten auslesen, gehört das in die ReadMe und man sollte das Programm mit einer passenden Meldung beenden, wenn keine Admin-Rechte da sind.


Und gerade als Programmierer arbeitet man nicht unter diesem Konto und testet seine Programm auch unter Konten mit eingeschränkten Nutzerrechten (wenn man sie nicht gleich, wie ich, unter so einem Konto programmiert ;) ).


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 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