Antes de tudo eu já pesquisei no fórum, e nos tópico aqui apresentados eu não consegui achar uma solução.
Bem o que eu quero fazer é uma aplicação que mostre a lista de softwares instalados no PC, eu achei num tópico aqui um pequeno executavel(soli.exe) que faz isso, pois bem a sintaxe para que ele passe os aplicativos instalados é:
[code]
C:\DEVELOPMENT\Projetos\src\cliente\extra>soli
SoftwareList 2.1 - © 2004 Renato S. da Silva
usage: soli directory [hostname]
C:\DEVELOPMENT\Projetos\src\cliente\extra>soli c:\development junior
Software list was created at c:\development\junior.soli.txt[/code]
ele gera um txt +/- assim:
[quote]
…
Advanced Tools
Atualização de Segurança para Windows XP (KB883939)
Atualização de Segurança para Windows XP (KB890046)
Atualização de Segurança para Windows XP (KB896358)
Atualização de Segurança para Windows XP (KB896422)
Atualização de Segurança para Windows XP (KB896428)
Atualização de Segurança para Windows XP (KB900930)
Atualização de Segurança para Windows XP (KB901214)
Atualização de Segurança para Windows XP (KB903235)
Atualização para Windows XP (KB898461)
BitComet 0.57
CC_ccProxyMSI
CC_ccStart
ccCommon
Cdrom List Creator
Drive Image
Extensão do HighMAT para o Assistente para Gravação em CD do Microsoft Windows XP
Futebol Theme
Google Earth Plus
hkSFV (remove only)
IconTweaker
IrfanView (remove only)
J2SE Development Kit 5.0 Update 4
J2SE Runtime Environment 5.0 Update 4
JUDE Community 1.5.2
jv16 PowerTools 1.4.1
K-Lite Mega Codec Pack 1.30
…[/quote]
Pelo promtp do DOS vai que é uma beleza, agora eu estava querendo usar dentro de um JAR, para mostrar para um professor na faculdade, só que ai, deu branco total…
[code]
import java.io.File;
import java.io.IOException;
public class Soli {
private static Process softlist;
public static void main(String[] args) {
try {
softlist = Runtime.getRuntime().exec("cmd /C C:\DEVELOPMENT\Projetos\src\cliente\extra\soli C:\ JUNIOR");
softlist.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
File inf = new File("/JUNIOR.soli.txt");
if(inf.exists()){
System.out.println("Arquivo salvo em : " + inf.getAbsolutePath());
}
}
}[/code]
Não gera nenhum Exception, nada, e nem a lista é feita…
além disso o professor, quer que use Socket. então eu teria que pegar o txt gerado, e concatenar tudo em uma única String, usando para separar cada linha um delimitador pode ser “;”, e no servidor ele separa cada item em uma linha(essa parte de separar os itens eu sei, usando StringTokenizer).
O que eu não to conseguindo, é fazer com que ele seja executado da forma correta e crie o txt.
Outra coisa, como eu faço dps, que estiver tudo dentro do JAR(incluindo o soli.exe) ele funcione como se estivesse sendo executado pelo Eclipse.
Estou perguntando pois, preciso ter o soli.exe empacotado junto com o JAR para fazer uma demosntração no lab da faculdade.
Se você puderem me ajudar.
Obrigado. :thumbup:
ps.: se o autor do soli.exe estiver presente no fórum, gostaria de sabe se não tem problema de utilizar o aplicativo dele em uma demonstração na faculdade.