Uruchamianie jara przy starcie widnows

0

Witam

Napisałem aplikację desktopową ma niewidoczne okno by być nie zauważona i ma działać w tle-służy to nawiązania lokalnego połączenia przez socket z częścią drugiej aplikacji w www.

Pierwotnie miało być to zrealizowane tak: klient wchodzi na stronke, jest deploy aplikacji przez jnlp na lokalny komputer i uruchomienie i nawiązanie połączenia z aplikacją www.

Teraz pomyślałem by nie ściągać z sieci za kazdym razem jara. Chcę by ten jar mógł być odpalony przy starcie windows (usługa?). Jar byłby wsadzony do jakiegoś katalogu w dysku i przy starcie byłby uruchamiany.

Jak (w czym to zrealizować) ? Najprościej ....

0

A próbowałeś do autostartu wrzucić?
Ewentualnie do HKEY_LOCAL_MACHINE...Microsoft\Windows\CurrentVersion\Run, czy jakoś tak (piszę z pamięci, więc mogłem coś zjeść). Stamtąd na pewno możesz podać pełne polecenie do odpalenia jara.

0

hmm mozę źle zadałem pytanie: wiem ze to trzeba wpisac w rejestr (bo jakze inaczej). Pytanie jest jak (czym) to wpisać...pamiętaj że mam przegląarkę i koniec...ewentualnie przez jnlp uruchomi się aplikacja stand alone javova (mozę być jakiś instalator). Raczej nie przewiduje tworzenia prof instalatora z kodem w C/C++.

Jest to możłiwe posiadajac ww środki?

0

Zly guzik.

c.d.

Pierwszy link na stack overflow podaje linka: http://sourceforge.net/projects/jregistrykey/.
Zawsze mozesz rowniez wolac reg.exe - robiles juz takie rzeczy, widzialem na tym forum.

Jak zwykle dopisze - sadzac z tego co chcesz zrobic (po raz kolejny) uzywasz zupelnie zlej technologii.

0

@Krolik @::. dzieki - w sumie zapomniałem o reg.exe i cały czas mi regedit chodził po głowie i w jaki sposób się odwołać do funkcji. Zapomniałem że po prostu można wywołac proces z javy i tyle:)

To jakby ktoś kiedyś potrzebował - dodaje wpis bla5 o tekstowej wartości (REG_SZ) takiwpis

String line;
String errorLine;

String sciezka = System.getenv("windir") + "/system32/";
String wpis = "REG ADD HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run /v bla5 /t REG_SZ /d takiwpis";
        try {

            Process p = Runtime.getRuntime().exec(sciezka + wpis);
            
            BufferedReader error = new BufferedReader(new InputStreamReader(p.getErrorStream()));
            BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));

            while ((line = input.readLine()) != null) {
                System.out.println(line);
            }
            input.close();

            while ((errorLine = error.readLine()) != null) {
                System.out.println(errorLine);
            }
            error.close();


        } catch (Exception e) {
            System.out.println(e);
        }

Wyniki komendy są wypisywane w input a ewentualne bledy w error.

1 użytkowników online, w tym zalogowanych: 0, gości: 1