Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Festplattenzugriff sichtbar machen (LED im Tray) (https://www.delphipraxis.net/174484-festplattenzugriff-sichtbar-machen-led-im-tray.html)

DelTurbo 26. Apr 2013 08:39

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
Also bleibt es ein wunschtraum? Schaaaade....

Trotzdem vielen dank

hathor 27. Apr 2013 17:56

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
HDDLED:
http://staff-www.uni-marburg.de/~schmitzr/hddled.zip
ist von troubadix =Dr. Raimund Schmitz
http://www.medizin-physik-experte.de/
info@medizin-physik-experte.de

hathor 27. Apr 2013 20:37

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
DiskMon is an application that logs and displays all hard disk activity on a Windows system.

You can also minimize DiskMon to your system tray where it acts as a disk light, presenting a green icon when there is disk-read activity and a red icon when there is disk-write activity.

Installation and Use

Installing DiskMon is as easy as unzipping it and typing, "diskmon." The menus and toolbar buttons can be used to disable event capturing, control the scrolling of the listview, and to save the listview contents to an ASCII file.

To have DiskMon function as a disk light in your system tray, select the Options|Minimize to Tray menu item, or start DiskMon with a "/l" (lower-case L) command-line switch e.g. diskmon /l. To reactivate the DiskMon window double-click on the DiskMon tray icon. To create a shortcut to Diskmon in the tray create a shortcut in your Program Files\Startup folder, edit the properties of the shortcut and set the Target to point at the executable with the path in quotations and the switch outside the quotes:

"C:\Sysinternals Tools\Diskmon.exe" /l


http://technet.microsoft.com/en-us/s.../bb896646.aspx

hathor 27. Apr 2013 20:48

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
Ich glaube, einen Weg gefunden zu haben, wie man auch mit DELPHI eine HDD-READ/WRITE-Anzeige realisieren kann. :-D

Stichwörter:
Device Input and Output Control (IOCTL) = DeviceIoControl
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

The DeviceIoControl function provides a device input and output control (IOCTL) interface through which an application can communicate directly with a device driver. The DeviceIoControl function is a general-purpose interface that can send control codes to a variety of devices. Each control code represents an operation for the driver to perform. For example, a control code can ask a device driver to return information about the corresponding device, or direct the driver to carry out an action on the device, such as formatting a disk.
-
Gefunden hier:
{ ref JwaWinIoctl.pas }
unit winconst_ioctl;

Delphi-Quellcode:
// This structure defines the disk logging record. When disk logging
// is enabled, one of these is written to an internal buffer for each
// disk request.
//

  PDISK_RECORD = ^DISK_RECORD;
  _DISK_RECORD = record
    ByteOffset: LARGE_INTEGER;
    StartTime: LARGE_INTEGER;
    EndTime: LARGE_INTEGER;
    VirtualAddress: Pointer; //PVOID;
    NumberOfBytes: DWORD;
    DeviceNumber: BYTE;
    ReadRequest: ByteBool;
  end;
  DISK_RECORD = _DISK_RECORD;
  TDiskRecord = DISK_RECORD;
  PDiskRecord = PDISK_RECORD;

//
// The following structure is exchanged on an IOCTL_DISK_LOG request.
// Not all fields are valid with each function type.
//

  PDISK_LOGGING = ^DISK_LOGGING;
  _DISK_LOGGING = record
    Function_: BYTE;
    BufferAddress: PVOID;
    BufferSize: DWORD;
  end;
  DISK_LOGGING = _DISK_LOGGING;
  TDiskLogging = DISK_LOGGING;
  PDiskLogging = PDISK_LOGGING;

//
// Disk logging functions
//
// Start disk logging. Only the Function and BufferSize fields are valid.
//

const
  DISK_LOGGING_START = 0;

//
// Stop disk logging. Only the Function field is valid.
//

  DISK_LOGGING_STOP = 1;

DelTurbo 28. Apr 2013 09:43

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
Zitat:

Zitat von hathor (Beitrag 1213192)
Ich glaube, einen Weg gefunden zu haben, wie man auch mit DELPHI eine HDD-READ/WRITE-Anzeige realisieren kann. :-D

Vielen dank. Werde ich mir morgen direkt mal ansehen.

hathor 28. Apr 2013 15:18

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
So geht es:

WMI
Class: Win32_PerfFormattedData_PerfDisk_PhysicalDisk
Instance: Name: 0, 1, 2, etc. für HDD0, HDD1, HDD2 etc.

Durch Auswertung der READ/WRITE-Werte kann man dann einem Panel o.a. eine Farbe zuweisen.


Beispiel:
AvgDiskBytesPerRead: 0
AvgDiskBytesPerTransfer: 0
AvgDiskBytesPerWrite: 0
AvgDiskQueueLength: 0
AvgDiskReadQueueLength: 0
AvgDisksecPerRead: 0
AvgDisksecPerTransfer: 0
AvgDisksecPerWrite: 0
AvgDiskWriteQueueLength: 0
CurrentDiskQueueLength: 0
DiskBytesPersec: 0
DiskReadBytesPersec: 0
DiskReadsPersec: 0
DiskTransfersPersec: 0
DiskWriteBytesPersec: 0
DiskWritesPersec: 0
Name: 0 D: F: C: E:--------------------> HDD0
PercentDiskReadTime: 0
PercentDiskTime: 0
PercentDiskWriteTime: 0
PercentIdleTime: 100
SplitIOPerSec: 0

AvgDiskBytesPerRead: 1048576
AvgDiskBytesPerTransfer: 1048576
AvgDiskBytesPerWrite: 0
AvgDiskQueueLength: 1
AvgDiskReadQueueLength: 1
AvgDisksecPerRead: 0
AvgDisksecPerTransfer: 0
AvgDisksecPerWrite: 0
AvgDiskWriteQueueLength: 0
CurrentDiskQueueLength: 2
DiskBytesPersec: 37756348
DiskReadBytesPersec: 37756348
DiskReadsPersec: 36
DiskTransfersPersec: 36
DiskWriteBytesPersec: 0
DiskWritesPersec: 0
Name: 2 H:--------------------> HDD2
PercentDiskReadTime: 100
PercentDiskTime: 100
PercentDiskWriteTime: 0
PercentIdleTime: 1
SplitIOPerSec: 0

AvgDiskBytesPerRead: 0
AvgDiskBytesPerTransfer: 0
AvgDiskBytesPerWrite: 0
AvgDiskQueueLength: 0
AvgDiskReadQueueLength: 0
AvgDisksecPerRead: 0
AvgDisksecPerTransfer: 0
AvgDisksecPerWrite: 0
AvgDiskWriteQueueLength: 0
CurrentDiskQueueLength: 0
DiskBytesPersec: 0
DiskReadBytesPersec: 0
DiskReadsPersec: 0
DiskTransfersPersec: 0
DiskWriteBytesPersec: 0
DiskWritesPersec: 0
Name: 1 J:--------------------> HDD1
PercentDiskReadTime: 0
PercentDiskTime: 0
PercentDiskWriteTime: 0
PercentIdleTime: 100
SplitIOPerSec: 0

AvgDiskBytesPerRead: 1048576
AvgDiskBytesPerTransfer: 1048576
AvgDiskBytesPerWrite: 0
AvgDiskQueueLength: 1
AvgDiskReadQueueLength: 1
AvgDisksecPerRead: 0
AvgDisksecPerTransfer: 0
AvgDisksecPerWrite: 0
AvgDiskWriteQueueLength: 0
CurrentDiskQueueLength: 2
DiskBytesPersec: 37756348
DiskReadBytesPersec: 37756348
DiskReadsPersec: 36
DiskTransfersPersec: 36
DiskWriteBytesPersec: 0
DiskWritesPersec: 0
Name: _Total
PercentDiskReadTime: 55
PercentDiskTime: 55
PercentDiskWriteTime: 0
PercentIdleTime: 67
SplitIOPerSec: 0

DelTurbo 28. Apr 2013 16:17

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
Ui, nun weiß ich garnicht was ich sagen soll, ausser vielen vielen dank.

Und dann gleich noch eine frage hinterher.... ist das diese unit, oder?

http://delphi-wmi-class-generator.go...ysicalDisk.pas

Gruß und nochmals vielen dank

hathor 28. Apr 2013 16:32

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
Sieht brauchbar aus.
Ich teste es mal.

DelTurbo 28. Apr 2013 16:47

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
Damit kann man irgendwie units erstellen. Genau hab ich das noch nicht kapiert.

https://code.google.com/p/delphi-wmi-class-generator/

DelTurbo 29. Apr 2013 09:12

AW: Festplatten zugriff sichbar machen (LED im Tray)
 
Ich habe eben eine kleine Demo gemacht. Leider ist die abfrage viel viel zu langsam. Schade, vielleicht gibt es ja nochwas anderes.....

OS ist Win7 32 Bit


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Seite 2 von 3     12 3      

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 by Thomas Breitkreuz