Frage von XenonXDX, 28

Wie kann ich ein selbst geschriebenes java Programm mit einer .bat datei verbinden?

Hey Leute,

also ich habe mein Java Programm schon in eine .exe konventiert aber ich möchte das wenn ich doppelklick auf die .exe mache, sich das Programm ausführt und im Hintergrund die .bat

Wie kann ich das machen ?

Mit freundlichen grüßen XenonXDX

Antwort
von androhecker, 19

Sich mit einer Batch in den Autostart zu bringen ist nicht gerade die beste Variante.

Es gibt unter Windows Registry Keys zum einmal und dauerhaft beim Start ausführen für alle Benutzer oder für einen einzelnen.

An den Regisry ran zu kommen ist etwas schwieriger, du kannst mit Java Befehle ausführen und dann durch den reg Befehl den Registry verändern, ist aber nicht unbedingt die schönste Variante.

Die sicherste Variante ist wohl nativen Code mit JNI einzubinden, es geht zwar auch mit Reflections, aber das ist ziemlich tricky.

Du solltest aber beachten, dass Java dazu konzipiert ist auf mehreren Plattformen zu laufen.

Kommentar von XenonXDX ,

Kannst du mir erklären wie ich meinen Code mit JNI einbinde ?

Kommentar von androhecker ,

Nun, das ist etwas kompliziert. Zuerst mal musst du in deiner Klasse eine native Methode ohne Implementierung definieren, die du nativ implementieren willst. Dann fügst du am Beginn der Klasse noch einen static Block ein, welcher mit System.loadLibrary(String) deine native Implementierung lädt. Dann erstellst du eine Konfiguration für javah und erstellst dann mit diesem Befehl deinen C/C++ Header, dort findest du dann auch den Namen für die C/C++ Funktion. Dann erstellst du eine C/C++ Datei und implementierst da deine Funktion (darin kannst du dann auf alle Windows Bibliotheken zugreifen). Zuletzt musst du die Library noch Kompilieren und richtig platzieren. Eine detaillierte Anleitung gibt es bei Oracle oder in der 2. Insel.

Kommentar von XenonXDX ,

Also ich habe mir das ein wenig auf youtube angeschaut aber verstehe es nicht wirklich, kannst du mir ein link geben wo das gut erklärt wurde ?

Kommentar von androhecker ,

Hier: http://openbook.rheinwerk-verlag.de/java7/1507_21_001.html Aber wie schon gesagt, dafür musst du C oder C++ können.

Antwort
von Borgler94, 28

was sollte der sinn dahinter sein?

Kommentar von XenonXDX ,

Das Programm soll sich in den Autostart schreiben, deshalb die .bat

Kommentar von PerfectMuffin ,

Du meinst in den Autostart schreiben können nur Batchdateien?

Kommentar von XenonXDX ,

geht bestimmt anders aber ich weiß nicht wie

Kommentar von Borgler94 ,

du kannst in Java cmd Befehle ausführen lassen, und es damit in den Autostart Ordner kopieren

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten