[Resolvido]Como iniciar aplicativo java com todos os seus paramêtros sem mostrar janela do DOS?

E aí galera do GUJ, beleza?
A pergunta é a seguinte, existe alguma mágica ou técnica
(como por exemplo a fusão dos super sayajins)
para iniciar um aplicativo em java com todas as
suas configurações iniciais (charset etc)
e PRINCIPALMENTE não mostrar a janelinha do DOS(Windows).
A janelinha do DOS num to afim de ver na minha frente não lol.
é horrívelmente feia e por este motivo quero esconder aquela coisa horrível.

vlw aí pela ajuda pessoal!

Bom, pra nao abrir a janela do dos o que vocefaz é um atalho pro seu programa da seguinte forma:
javaw -jar C:/meuPrograma.jar

Quanto a duvida do charset nao entendi muito bem, o que seriam as configurações iniciais como “charset etc”?
Pelo que eu sei charset não é uma coisa que você pode setar a nivel global na aplicação…

Como não entendi o que você postou irei responder pelo o que entendi do assunto do post “Como iniciar aplicativo java com todos os seus paramêtros?”

Seria rodar o método main passando os parâmetros, um array de String, uma possibilidade seria via prompt de comando outra no eclipse seria executar o programa chamando “Run Configurations” e na janela que abre abrir a aba “(x)= Arguments” e digitar os argumentos na sequência e separados por vírgula no campo texto Program arguments.

Se não for isso desculpa aí.

[quote=mateusviccari]Bom, pra nao abrir a janela do dos o que vocefaz é um atalho pro seu programa da seguinte forma:
javaw -jar C:/meuPrograma.jar

Quanto a duvida do charset nao entendi muito bem, o que seriam as configurações iniciais como “charset etc”?
Pelo que eu sei charset não é uma coisa que você pode setar a nivel global na aplicação…[/quote]

Sim cara é possível setar o charset antes do aplicativo ser iniciado( e é global a todo o aplicativo)!
O Charset deve ser setado antes que o aplicativo inicie por dois motivos:
1 - Até onde sei não é possível setar charset depois que você iniciou a JVM ( Mas se você sabe uma forma fala aí ok? )
2 - Se o seu aplicativo roda em redes e pode ser executado em vários sistemas operacionais e você não setar o charset antes
de iniciar o aplicativo e seu aplicativo for dependente de String para funcionamento.

O aplicativo que estou desenvolvendo depende de String por que a utiliza para armazenar nomes de classes, campos, etc,
se o charset não for iguais em todas as instâncias de aplicativos iniciadas em todas as máquinas, então o aplicativo pode parar de funcionar.

Além de que, se você setar um charset padrão, então não vai precisar de digitar isso toda vez que for converter uma String em um conjunto de bytes : str.getBytes(“UTF-8”);

Vlw a todos que responderam!

Na verdade eu encontrei uma solução (a minha solução, não sei se vai servir para todos)

O que fiz foi o seguinte, criei um arquivo exe ( C++ QT + Netbeans ) que chama um cmd.
O arquivo exe usa o ShellExecute.

Logo abaixo se encontra todo o código:

Arquivo Launcher.cmd:

SET JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
javaw -jar “client.jar”

Códigos fontes do exe:

Arquivo systemcore.h

#ifndef SYSTEM_H
#define SYSTEM_H

#include <windows.h>
#include

using namespace std;

class SystemCore
{
public:
static const INT ICONWINDOW = SHOW_ICONWINDOW;
static const INT FULLSCREEN = SHOW_FULLSCREEN;
static const INT OPENWINDOW = SHOW_OPENWINDOW;
static const INT HIDE = SW_HIDE;

static std::wstring stringTowstring(const std::string& s)
{
    std::wstring ws;
    ws.assign(s.begin(), s.end());
    return ws;
}

static std::string wstringTostring(const std::wstring& ws)
{
    std::string s;
    s.assign (ws.begin(), ws.end());
    return s;
}  

static void execute(string& command, INT mode)
{
    std::wstring open = stringTowstring("open");
    LPCWSTR wopen = open.c_str();    
    std::wstring cmd = stringTowstring(command);
    LPCWSTR wcmd = cmd.c_str();
    ShellExecute(NULL,wopen,wcmd,NULL,NULL,mode);    
}    

};

#endif

Arquvio main:

#include <windows.h>
#include
#include <systemcore.h>

using namespace std;

/*O tipo de aplicativo deve

  • ser QtApplication para
  • esconder a janela do console
    */

int main(int argc, char *argv[]) {
string command = “Launcher.cmd”;
SystemCore::execute(command,SystemCore::HIDE);
return 0;
}