2010-05-24 23 views
9

Estoy escribiendo una aplicación que actualiza algunos controladores. Sin embargo, los controladores están "en uso" y no se pueden eliminar a menos que reinicie mi computadora.Eliminación de archivos y carpetas bloqueados

Entonces, ¿cómo puedo escribir una aplicación para eliminar estos controladores bloqueados sin reiniciar la PC. SI el reinicio DEBE ocurrir, ¿cómo puedo reiniciar mi aplicación automáticamente cuando la computadora reinicia y elimina esos archivos?

+3

Dicho sea de paso, reemplazar los controladores es una de las principales razones por las que Windows aún necesita reiniciarse. Ahora, algunos controladores ya no parecen necesitarlos (los controladores nVidia no solicitan un reinicio, simplemente desactivan la pantalla momentáneamente). – Powerlord

+2

@R. Bemrose: Si entiendo correctamente, esto funciona separando el controlador en un núcleo que permanece cargado y la carne real del controlador, que puede descargarse y reemplazarse. En otras palabras, OP puede no tener ninguna opción. –

+0

Bueno, son controladores de impresora e impresoras que no siempre están en uso. Aprendí cómo hacer un servicio de cola de impresión. –

Respuesta

5

Para Windows, puede "programar" mover/eliminar archivos al reiniciar pinvoking la API MoveFileEx (o el registro como se describe).

0

Si puede deshabilitar el hardware que está utilizando los controladores, esto podría permitir que el controlador se descargue y reemplace.

+0

¿Cómo se desactiva con el código? –

+0

http://stackoverflow.com/questions/1438371/win32-api-function-to-programatically-enable-disable-device –

Cuestiones relacionadas