Estoy intentando escribir algo que activará un evento cada vez que el disco duro lea datos o escriba datos. Sé que esto implica el uso de System.Diagnostics.PerformanceCounter, pero no lo sé lo suficientemente bien como para poder hacer esto por mi cuenta. ¿Alguien me puede apuntar en la dirección correcta? Además, me gustaría que el evento que dispara devuelva qué unidad se está leyendo o escribiendo. Cualquier ayuda sería apreciada. Esto es C#, por cierto.Crear eventos para el disco duro leer y escribir
Respuesta
los siguientes no crear eventos, pero se puede utilizar junto con un temporizador para mostrar información en la bandeja (según los comentarios):
using System.Diagnostics;
private PerformanceCounter diskRead = new PerformanceCounter();
private PerformanceCounter diskWrite = new PerformanceCounter();
diskRead.CategoryName = "PhysicalDisk";
diskRead.CounterName = "Disk Reads/sec";
diskRead.InstanceName = "_Total";
diskWrite.CategoryName = "PhysicalDisk";
diskWrite.CounterName = "Disk Writes/sec";
diskWrite.InstanceName = "_Total";
_Total
es para todos los discos ... para obtener la específica instancenames de discos disponibles utilizan:
var cat = new System.Diagnostics.PerformanceCounterCategory("PhysicalDisk");
var instNames = cat.GetInstanceNames();
a continuación, puede crear un par de diskRead
/diskWrite
para cada instancia le interesa ... para la muestra de cómo usar esto en combinación con un temporizador ver this.
¿Esto también le dará información de lectura/escritura para unidades de CD? Sé que no lo especifiqué, pero tengo curiosidad – Icemanind
@icemanind no estoy seguro (no lo puedo probar ahora) ... puedes encontrar todas las categorías disponibles llamando a 'PerformanceCounterCategory.GetCategories() '... puede encontrar todas las instancias llamando a 'GetInstanceNames()' en cada Categoría encontrada ... HTH – Yahia
- 1. Emular un disco duro en Linux
- 2. ¿Cómo mover el repositorio git local de un disco duro a otro disco duro?
- 3. Java: Escribir/Leer un mapa desde el disco
- 4. Boost asio Boost: forma más rápida de leer archivos desde el disco duro?
- 5. Defrag un disco duro virtual (.vhd)?
- 6. ¿Cómo evitar la fragmentación del disco duro?
- 7. Obtener número de serie del disco duro
- 8. Java FileLock para leer y escribir
- 9. Escribir/Leer en el registro de eventos de Windows
- 10. Ubicación del iPhone SDK en el disco duro
- 11. Cómo obtener una imagen de mshtml.htmlimg en el disco duro
- 12. Bloquear tabla para leer y escribir
- 13. ¿archivo abierto para leer y escribir?
- 14. ¿Dónde está TextTransform.exe ubicado en el disco duro?
- 15. ¿Cómo se puede evitar programáticamente Windows desde el disco duro?
- 16. Leer y escribir en el mismo archivo con proceso diferente
- 17. Almacenamiento de máquinas virtuales VMware en un disco duro externo
- 18. phonegap leer y escribir el archivo json
- 19. Socket leer y escribir simultáneamente
- 20. Crear un archivo zip utilizando PHP clase ZipArchive sin escribir el archivo en el disco?
- 21. ¿Cómo puedo crear, escribir y luego devolver un archivo en C# sin guardarlo en el disco?
- 22. ¿Cómo leer y escribir UTF-8 en un disco en Android?
- 23. Usando Pisa para escribir un pdf en el disco
- 24. Mover registros binarios en MySQL a un disco duro diferente
- 25. Lectura de sectores de disco duro en C++ en Linux
- 26. Importación de un disco duro virtual en Parallels Desktop 6 para Mac
- 27. ¿Cómo uso C# para obtener el número de serie del disco duro?
- 28. ¿Cómo se lee la temperatura del disco duro?
- 29. ¿Herramienta para mostrar los procesos de escritura en el disco duro?
- 30. Obtener la temperatura del disco duro usando Python
SI realmente desea un evento para TODOS los R/W relacionados con el disco ENTONCES tendrá que implementar un denominado controlador del sistema de archivos, que no se puede implementar en .NET. Si pudieras describir más claramente cuál es tu objetivo, tal vez exista otro enfoque para obtener los resultados que buscas ... – Yahia
Lo que intento hacer es crear una especie de "Luz de disco". Algo que se encuentra en la bandeja que parpadea en rojo cada vez que se lleva a cabo una operación de escritura en el disco duro y parpadea en verde cada vez que se realiza una operación de lectura. – Icemanind
¿Es esto más bien un tipo de conveniencia O está apuntando a la seguridad (es decir, monitoreando cualquier actividad de disco)? – Yahia