![]() |
AW: Betriebsstunden einer Festplatte auslesen?
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal eine Version, die nach Adminrechten fragt, wenn sie nicht vorhanden sind.
|
AW: Betriebsstunden einer Festplatte auslesen?
Hier geht es um die administrativen Rechte in der Art von "Ausführen als Administrator" läßt sich AFAIK nur über ein entsprechendes Manifest erreichen und dann nicht umschaltbar, sondern direkt beim Programmstart.
|
AW: Betriebsstunden einer Festplatte auslesen?
Zitat:
|
AW: Betriebsstunden einer Festplatte auslesen?
Ok, wenn ihr dafür keine Adminrechte benötigt ist das ja ok. Wenn dann das Programm auch nicht fragt ist doch noch besser! Ich habe hier XP und da geht es nur mit Adminrechten. Wenn mein Benutzer diese hat, wird nicht gefragt und wenn er die benötigten Rechte nicht hat, wird danach gefragt und man kann sie sich durch eine entsprechende Anmeldung geben.
Ich fand die Erweiterung ganz sinnvoll, aber wenn sie nicht nötig ist, dann eben nicht. @Bummi: Es hat noch niemand mein Beispiel heruntergeladen. Also vielleicht erst mal anschauen und dann rumblubbern. |
AW: Betriebsstunden einer Festplatte auslesen?
@omata
ich hatte das Beispiel heruntergeladen und getestet, also nichts mit "rumblubbern". Den Benutzerkontext fragt er bei mir auch nicht ab da ich bereits unter dem Adminkonto arbeite, mit Windows 7 ohne deaktivierte Benutzerkontensteuerung liefert das Programm kein Ergebnis, bei "Als Administror ausführen" schon. Ich bleibe bei meiner Aussage und verbitte mit Anmerkungen wie "rumblubbern". MfG Thomas |
AW: Betriebsstunden einer Festplatte auslesen?
Zitat:
|
AW: Betriebsstunden einer Festplatte auslesen?
Dann eben nicht, macht euren Mist doch allein. Habe es nur gut gemeint. Habe aber nun verstanden, das das ein Fehler war.
|
AW: Betriebsstunden einer Festplatte auslesen?
Kleine Erweiterung: DRIVE INVALID, wenn keine S.M.A.R.T.-Daten gelesen werden können:
Delphi-Quellcode:
.
. . procedure TFMain.getDriveInfos(drive: Integer; Infos: TStrings); var i: Integer; begin Infos.Clear; ReadSMART; if SCOP[drive].attr[0].bAttrID =0 then Begin Infos.Append('Drive '+ IntToStr(drive)+': DRIVE INVALID'); Exit; End; for i := 0 to 255 do begin if SCOP[drive].attr[i].bAttrID = ATTR_READ_ERROR_RATE then begin Infos.Append('Drive '+ IntToStr(drive)+': S.M.A.R.T. DATA'+#13#10); Infos.Append(Format( 'ATTR_READ_ERROR_RATE: %s', [HexToStr(SCOP[drive].attr[i].Raw[0])] )); end; if SCOP[drive].attr[i].bAttrID = ATTR_POWER_ON_HRS_COUNT then begin Infos.Append(Format( 'ATTR_POWER_ON_HRS_COUNT in hours: %d', [SCOP[drive].attr[i].Raw[0] + (SCOP[drive].attr[i].Raw[1] * 256)] )); end; if SCOP[drive].attr[i].bAttrID = ATTR_TEMPERATURE_CELCIUS then begin Infos.Append(Format( 'ATTR_TEMPERATURE_CELCIUS: %d', [SCOP[drive].attr[i].Raw[0]] )); end; end; end; procedure TFMain.Button1Click(Sender: TObject); begin getDriveInfos(0, MeInfo.Lines); end; procedure TFMain.Button2Click(Sender: TObject); begin getDriveInfos(1, MeInfo.Lines); end; procedure TFMain.Button3Click(Sender: TObject); begin getDriveInfos(2, MeInfo.Lines); end; procedure TFMain.Button4Click(Sender: TObject); begin getDriveInfos(3, MeInfo.Lines); end; procedure TFMain.FormCreate(Sender: TObject); begin getDriveInfos(0, MeInfo.Lines); end; end. |
AW: Betriebsstunden einer Festplatte auslesen?
ich trau mich ja gar nicht mehr, aber dann müßte es
Delphi-Quellcode:
heißen
Infos.Append('Drive '+ IntToStr(drive)+': DRIVE INVALID or Missing administrative rights');
|
AW: Betriebsstunden einer Festplatte auslesen?
Zitat:
bis hierher kommt, ist zweifelhaft! Dafür braucht man eine andere Abfrage. ----------------- Ich habe es mit WIN 7 64Bit getestet: Ohne Aadministrative rights kommt man bis zu dieser Abfrage, was aber irreführend ist, denn diese S.M.A.R.T.-Abfrage ist mit Aadministrative rights möglich. Es müsste also VOR dem ATTR_INVALID = 0-Test eine Abfrage nach den Rechten erfolgen, dann ist dieser "Schönheitsfehler weg". |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz