de que maneira eu posso receber parametros do sistema [color=blue]operacional[/color]?
espero que estejam entendendo o que estou querendo.
ex:
um atalho de um exe;
[color=orange]“C:\Arquivos de programas\VIVO ZAP\VIVO ZAP.exe 2,USUARIO”[/color]
O objetivo é pegar os parâmetros que um programa traz e que o meu deve pegar.
no caso [color=blue]2,USUARIO[/color]
Quais parametros?
Algum deles voce consegue com o System.getProperty()
[quote=Mark_Ameba]Quais parametros?
Algum deles voce consegue com o System.getProperty()[/quote]
coloquei mais informação na pergunta …
Sabe aquele "args" que tem no main? Ele serve para receber tudo o que vier depois do nome do seu programa. Veja:
public class Teste {
public void main(String args[])
for (int i = 0; i < args.length; i++) {
System.out.println(i + ":" + args[i]);
}
}
}
java Teste Vinicius Godoy de Mendonça
Imprime:
1:Vinicius
2:Godoy
3:de
4:Mendonça
ou:
java -Dteste=“teste”
System.out.println(System.getProperty(teste));
ou algo parecido com isso 
Hmm… mas voce quer pegar os parametros de programas que não sou seus? Ou apenas os passados como argumentos pro seu jar?
Se for é o que o ViniGodoy disse.
Mas pra vasculhar já não tenho idéia.
o método getenv é deprecated, porém:
public static void main(String[] args) {
System.out.println(System.getenv("path"));
}
saida:
C:/Arquivos de programas/Java/jdk1.5.0_22/bin/…/jre/bin/client;C:/Arquivos de programas/Java/jdk1.5.0_22/bin/…/jre/bin;c:\ruby\bin;C:\Arquivos de programas\Java\jdk1.5.0_22\bin;C:\AWB\maven-2.0.4\bin;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Arquivos de programas\Java\jdk1.5.0_22\bin;C:\AWB\maven-2.0.4\bin
e etc e tal
caso seja isso que vc queira 
getenv(String name)
Deprecated. The preferred way to extract system-dependent information is the system properties of the java.lang.System.getProperty methods and the corresponding getTypeName methods of the Boolean, Integer, and Long primitive types. For example:
String classPath = System.getProperty("java.class.path",".");
if (Boolean.getBoolean("myapp.exper.mode"))
enableExpertCommands();
@ http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html
[color=red]Tem muita coisa que eu ñ sei em java ainda [/color][color=blue]Coloquei no avançado pq fala sobre arquivos [/color]
[size=16]o cara aqui da empresa que me passa esses atividades que eles usam por aqui. O problema é que só eu que estuda o java ele trabalha com VB e VB.Net entao temcoisa que ñ tem como me passar[/size]
Deixa te perguntar uma parada …
se eu fizer assim…
String classPath = System.getProperty("java.class.path",".");
o parametro que eu quero que vem depois do exe vai ser armazenado no classPath?
O System.getProperty tudo bem mais b;[/b] estranho… n sei se é isso
estou com dificuldade para entender o que farei pra pegar esses dados
exemplo
o cliente vai executar um programa Usuario.exe
quem criou o programa passa informação atravez do executável colocando ele depois do [color=red]exe[/color]
assim
“[color=orange]C:\InterageSE\Usuarios[/color].[color=red]exe[/color] [color=green]2,USUARIO[/color]” //[color=silver]isso da pra ver em propriedades do execultavel[/color]
imagine que 2 é o código e o USUARIO é o login de usuário
nesse programa ele pode executar o meu.
dessa forma o meu programa pega essa informação passada depois do [color=red]exe[/color] [color=yellow]o que eu quero
[/color]
isso é pra pegar o usuário, do sistema da empresa, o programa vai ser dentro dele(do sis da empresa).
é em delphi e o meu será em java.
para o usuário ñ ter que loga novamente no meu.
[quote=ViniGodoy]Sabe aquele "args" que tem no main? Ele serve para receber tudo o que vier depois do nome do seu programa. Veja:
public class Teste {
public void main(String args[])
for (int i = 0; i < args.length; i++) {
System.out.println(i + ":" + args[i]);
}
}
}
[/quote]
entendo mais ñ pegou seu código
for (int i = 0; i < args.length; i++) {
System.out.println(i + ":" + args[i]);
}
estou tentando intender o post do ceb10n pode ter algo mais ñ estou compreendendo ñ sei se estou com a mente ferrada já …
Seguinte:
em applet, eu seu como passar via html parametros…
agora no seu caso, eu imagino 3 situações
1 - vai em run as -> run configuration
e em arguments vc adiciona os argumentos
ai vc usa o esquema que o vinigodoy falou
ps: isso é pelo eclipse
2 - vai via console igual o vinigodoy falou
java seuprog parametros
3 - já q é login, cria um login oras, tipo antes de entrar no prog, tem q digitar usuario e senha…
nao sei se entendi bem a sua duvida, maaas…
No windows não existe o conceito de “linha de comando” como existe no Linux e Unix’s
No windows:
Uma vez chamado um programa, não é possível recuperar em lugar nenhum os parâmetros passados ao programa, exceto dentro do próprio programa, por exemplo:
notepad.exe c:\teste.txt
Não há lugar onde descobrir que foi passado ao NOTEPAD.EXE o parametro c:\teste.txt
No Linux e Unix’s:
Enquanto o programa estiver em execução é possível ver em diversos lugares a linha de comando utilizada para chamar o programa:
vi /home/teste.txt
Um dos exemplos de como descobrir a linha de comando seria:
ps afx
Veja:
24602 pts/2 Sl+ 0:00 \_ vi teste.txt
- 24602 é o PID
- pts/2 é o device que identifica o terminal
- Sl+ é o estado do processo (sleep)
- 0:00 é o tempo de CPU que este processo já consumiu
- vi teste.txt é a linha de comando.
Uma outra forma de descobrir, no linux, se voce souber o PID (24602 no exemplo acima), é rodar o comando abaixo:
cat /proc/24602/cmdline
Isto vai printar na tela apenas a linha de comando do PID 24602.
Por estas coisinha e muitas outra abandonei para sempre o Windows há 5 anos.
[]s
Kemper