Estou com um problema interessante.
Tenho um código que descompacta um arquivo através de um programa feito em C.
Faço a chamada desse programa da seguinte forma:
Process processo = Runtime.getRuntime().exec(comando);
Inicio o processo porque às vezes são descompactados vários arquivos e eu aguardo o término
de cada processo através do comando: processo.waitFor();
Esse código no Eclipse funciona normalmente, mas quando utilizo com o netbeans acontece o erro especificado no título.
Já tentei modificar o comando para:
Process processo = Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + comando);
Deu certo! Porém não consigo saber quando o processo conclui, pois o rundll32 chama o programa em C e é como se o processo já tivesse sido finalizado.
Não tenho a menor idéia. Só sei que quando aparece “ntvdm” na jogada normalmente quer dizer “programa de 16 bits para Windows 3.1 ou MS-DOS 6.22 ou anterior”.