O comando seguinte serve para a abertura do drive de CD. O comando é de Shell, mas a chamada está sendo feita no Java.
Runtime.getRuntime().exec("eject /dev/cdrom");
E para fechar
Runtime.getRuntime().exec("eject -t /dev/cdrom");
Como o comando é Shell então esta execução só funciona no Linux (*nix).
Pode-se pensar num principio de um virus inofensivo que abre e fecha a gaveta 10 vezes.
import java.io.IOException;
public class Eject {
public static void main(String[] args) {
int v=10;
for (int i = 0; i < v; i++) {
try {
Runtime.getRuntime().exec("eject /dev/cdrom");
Thread.sleep(2000);
Runtime.getRuntime().exec("eject -t /dev/cdrom");
Thread.sleep(2000);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
O detalhe é que o LOOP é feito apenas 10 vezes. Se estiver em um "while(true)" será necessário "matar" o processo ou reiniciar o computador se o usuário não possuir a permissão.
O detalhe de efetuar um comando em Shell pelo Java é que o computador pode achar que é o sistema operacional que está fazendo a chamada da execução.
Exporte em um arquivo .jar e você poderá efetuar a execução dele em qualquer ambiente Linux (*nix). Não esqueça de dar a permissão de execução ao arquivo.
O programa acima foi feito em parceria com o Márcio Ishida colega de trabalho que também desenvolve em Java. Desenvolver em dois facilita na hora de ter ideias e dessa forma estamos trocando códigos e melhorando conforme aparecerão nos post's seguintes.
CUIDADO: Não me responsabilizo pela forma como este post for utilizado. O arquivo de manipulação de drives é apenas uma amostra para níveis de conhecimento de segurança, e desenvolvimento com segurança, que todo Bacharel em Sistemas deve conhecer e compartilhar.
Nenhum comentário:
Postar um comentário