AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Festplatteninaktivität erkennen

Ein Thema von blablab · begonnen am 4. Aug 2012 · letzter Beitrag vom 11. Aug 2012
Antwort Antwort
Seite 1 von 2  1 2   
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#1

Festplatteninaktivität erkennen

  Alt 4. Aug 2012, 03:11
Hallo!

Ich würde gerne eine inaktive (externe) Festplatte erkennen. Das bedeutet ich müsste irgendwie herausfinden, wann das letzte mal von der Festplatte gelesen oder darauf geschrieben wurde. Wie könnte ich da vorgehen?

Grüße
blablab
  Mit Zitat antworten Zitat
Horst0815

Registriert seit: 23. Mai 2011
Ort: Görlitz
150 Beiträge
 
Delphi XE Starter
 
#2

AW: Festplatteninaktivität erkennen

  Alt 4. Aug 2012, 10:27
sollte ueber WMI gehen kann dir aber nix genaueres sagen sitz mit dem smartphone im auto

Edit: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Geändert von Horst0815 ( 4. Aug 2012 um 13:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: Festplatteninaktivität erkennen

  Alt 4. Aug 2012, 12:47
Eine Festplatte wird ja über die Energieoptionen inaktiv geschaltet. Dazu gibt es eventuell eine Windows Message, die man abfangen könnte oder vielleicht auch sogar auslesen kann.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#4

AW: Festplatteninaktivität erkennen

  Alt 4. Aug 2012, 14:39
Die Festplatte kann auch autonom das Energiemanagement verwalten.
Das kann man ändern mit smartctl.
http://sourceforge.net/apps/trac/sma.../wiki/Download

Geändert von hathor ( 4. Aug 2012 um 14:41 Uhr)
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Festplatteninaktivität erkennen

  Alt 5. Aug 2012, 18:42
Ich hab das etwas undeutlich beschrieben...
Ich will nicht auslesen, ob Windows die Festplatte ausgeschaltet hat, sondern selbst erkennen, ob die Festplatte nicht genutzt wird. Eigentlich ist die Idee wirklich gut, aber leider unterstützt meine Festplatte das Ausschalten nicht.
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Festplatteninaktivität erkennen

  Alt 10. Aug 2012, 12:20
Hat niemand eine Idee?
Ich find einfach nichts gescheites. Es gibt z.B. die Möglichkeit mit FindFirstChangeNotification Änderungen mitzubekommen, aber dann kriege ich nichts mit, wenn nur gelesen und nicht geschrieben wurde. Und Hooks sind glaube ich deshalb schwer, weil es verschiedene Möglichkeiten gibt auf Dateien zuzugreifen. Nicht jedes Programm nutzt ReadFile und WriteFile. Und nach einem Wert, der wie GetLastInputInfo einfach nur die letzte Zugriffszeit zurückgibt, habe ich auch schon stundenlang gesucht. Aber auch hier komm ich nicht weiter, es ist wirklich frustrierend!
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Festplatteninaktivität erkennen

  Alt 10. Aug 2012, 13:07
Wir hatten vor Urzeiten mal Iomega-Wechselplatten im Einsatz, die brauchten ca 5-10sec um wieder anzulaufen. Das war nervig aber ansonsten problemlos.
Willst Du Deine Nerven schonen oder was ist der Hintergrund Deiner Frage.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Festplatteninaktivität erkennen

  Alt 11. Aug 2012, 00:02
Ich hab 4 Externe Festplatten, die ich alle nur gelegentlich mal benutze (so 1-2 mal die Woche für nur wenige Stunden). Danach vergesse ich sie oft auszuschalten. Das bedeutet ich hab im schlechtesten Fall 4 Festplatten, die den ganzen Tag lang laufen aber kein einziges Mal benutzt werden. Deshalb würde ich gerne erkennen, wenn eine Platte zum Beispiel 1h lang nicht benutzt wurde und dann in irgendeiner Weise darauf hinweisen, dass die Festplatte xy ausgeschaltet werden sollte.

Ich hab bereits versucht bei Windows einzustellen dass die Festplatten nach 10min ausgeschaltet werden, aber das funktioniert nicht. Und ein spezielles Programm das nur dazu da ist um Festplatten schlafenzulegen meldete, dass die Platten das nicht unterstützen. Wobei es mir eigentlich auch lieber wäre ich könnte die Festplatten komplett ausschalten, also den Stecker ziehen, da sie oft tagelang nicht gebraucht werden.

Einfach nur nach 2-3h eine Meldung bringen, hilft mir leider nicht wirklich weiter, weil es sein kann dass ich eine Festplatte für 10min oder auch für 10h benutze.

Ich hab mir auch schon überlegt statt nach der (In)Aktivität der Festplatte könnte ich auch nach (In)Aktivität des USB-Anschlusses an dem die Festplatte angeschlossen ist schauen. Allerdings scheint das das Problem nicht wirklich zu vereinfachen. Also zusammengefasst: Egal wie ichs versuche, ich komm einfach nicht weiter...
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#9

AW: Festplatteninaktivität erkennen

  Alt 11. Aug 2012, 06:03
GetLastInputInfo hat nichts mit Festplatten zu tun:
Es werden nur Tastatur- und Maus-Ereignisse ausgewertet, d.h. der Timer wird auf Null gesetzt.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#10

AW: Festplatteninaktivität erkennen

  Alt 11. Aug 2012, 07:11
Wie in #4 schon geschrieben, kann man das Power Management mit SMARTCTL ändern.
Eine Festplatte, die KEIN Power Management hat, gibt es nicht! Es wird bei Dir ausgeschaltet sein.

Du brauchst smartmontools-5.43-1.win32-setup.exe, da ist es enthalten.
http://smartmontools.sourceforge.net


Befehlsliste:
smartctl -h

Einige Beispiele:

smartctl -g apm C:
APM feature is: Disabled
--------------------------------------------------------------------
smartctl -s apm,off C:
APM Disabled
--------------------------------------------------------------------
smartctl -s apm,1 C: <-- empfehlenswert für Dich!
APM set to level 1 (minimum power consumption with standby)
--------------------------------------------------------------------
smartctl -s apm,64 C:
APM set to level 64 (intermediate level with standby)
--------------------------------------------------------------------
smartctl -s apm,128 C:
APM set to level 128 (minimum power consumption without standby)
--------------------------------------------------------------------
smartctl -s apm,192 C:
APM set to level 192 (intermediate level without standby)
--------------------------------------------------------------------
smartctl -s apm,254 C:
APM set to level 254 (maximum performance)

Geändert von hathor (11. Aug 2012 um 09:40 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:06 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