chhe Geschrieben 11. Februar 2011 Geschrieben 11. Februar 2011 Hallo Leute, bin neu hier im Forum und habe gleich mal eine Frage die mich nun schon lange beschäftigt. Ich will versuchen, aus meinem C#-Programm (.net 4.0) ein jar-File versteckt auszuführen (soll heißen, es taucht kein Fenster auf, es erscheint nicht in der Taskleiste oder im Tabcontrol). In der Regel mache ich das so: ProcessStartInfo pinfo = new ProcessStartInfo(); pinfo.WindowStyle = ProcessWindowStyle.Hidden; pinfo.CreateNowindow = true; pinfo.FileName = "path_jar-Programm"; Process.Start(pinfo); Bei normalen exe-Anwendungen funktioniert das auch einwandfrei. Nur bei meinem jar-Programm zeigt das einfach keine Wirkung. Wenn ich per FindWindow mein Fenster suche und es daraufhin verstecke (ShowWindow(hWnd, 0)), dann funktioniert das auch - aber dann blitzt mein jar-Programm für eine halbe Sekunde auf. Es handelt sich um das Programm "RemoteDroidServer", mit dem ich mein Notebook per Android-Smartphone steuern kann. Ich will, das bei mir dieses Programm gleich beim Systemstart ausgeführt wird und dann eben im Hintergrund (versteckt) läuft. Ich hoffe auf Hilfe, danke schonmal. Grüße chhe Zitieren
lilith2k3 Geschrieben 11. Februar 2011 Geschrieben 11. Februar 2011 Sollte da nicht irgendwo noch java als "Programm" mit gestartet werden ... also "java $blahblubb"? Zitieren
chhe Geschrieben 11. Februar 2011 Autor Geschrieben 11. Februar 2011 java als programm? java als plattform wird "gestartet", mir geht es darum dass das fenster (es ist eine windows form) ausgeblendet wird. wieso klappt das mit allen normalen .net-programmen, aber nicht mit diesem java-fenster? Zitieren
lilith2k3 Geschrieben 11. Februar 2011 Geschrieben 11. Februar 2011 java als programm? Java ist ein Programm wie alle anderen auch. Aber um derlei Spitzfindigkeiten vorzubeugen, habe ich schließlich auch Anführungszeichen dazugenommen. mir geht es darum dass das fenster (es ist eine windows form) ausgeblendet wird. Dann minimier' es einfach Zitieren
chhe Geschrieben 14. Februar 2011 Autor Geschrieben 14. Februar 2011 wie schon oben geschrieben will ich das Fenster aber nicht minimieren, sondern es taucht kein Fenster auf, es erscheint nicht in der Taskleiste oder im Tabcontrol Das funktioniert mit JEDEM anderen Fenster, nur nicht mit einem der Endung .jar. Meine Frage: Wieso? Wie kann ich Abhilfe schaffen? Es gibt beim Programmieren kein Problem ohne Lösung... Zitieren
Klotzkopp Geschrieben 14. Februar 2011 Geschrieben 14. Februar 2011 Das funktioniert mit JEDEM anderen Fenster, nur nicht mit einem der Endung .jar. Ich bezweifle, dass du es mit JEDEM anderen Programm ausprobiert hast. Waren die anderen alle .exe-Dateien? .jar-Dateien sind nicht selbst ausführbar. Genau wie bei .txt-Dateien der Editor gestartet wird, wird für .jar-Dateien das damit verknüpfte Programm (vermutlich ein Programm aus deinem JRE) gestartet, das dann die .jar-Datei öffnet und den Inhalt ausführt. Es bleibt aber dem so gestarteten Prozess selbst überlassen, ob er sich an deine Sichtbarkeits-Flags hält. Zumindest ist es bei ShellExecute(Ex) so, was hier vermutlich unter der Haube zur Anwendung kommt. Möglicherweise funktioniert es, wenn du den mit .jar-Dateien verknüpften Prozess direkt startest. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.