Forum » Programiranje » Izdelava programa za delovanje v ozadju
Izdelava programa za delovanje v ozadju
marjan_h ::
Kar nekaj časa že programiram, vendar nimam pojma kako deluje recimo uTorrent ali pa antivirusni program, kjer dejansko ni odprt kot tole okno brskalnika, ampak nezavedno človeku deluje v ozadju.
Lahko date primer Java/C/C++ ali pa kakšno povezavo do teh knjižnic, oziroma če so sploh potrebne?
Hvala.
Lahko date primer Java/C/C++ ali pa kakšno povezavo do teh knjižnic, oziroma če so sploh potrebne?
Hvala.
technolog ::
Stvari imaš postavljene ravno obratno. Programi so ponavadi po defaultu v ozadju, za grafični vmesnik pa rabiš knjižnico.
techfreak :) ::
http://stackoverflow.com/questions/2242...
Ocitno obstaja /SUBSYSTEM compiler flag, ki sporoci da je win32 aplikacija, in ne bo prikazalo okna.
Podobno imas tudi pri Windows Forms, kjer v Main.cs (C#) nastavis da ne kreira okna.
Ocitno obstaja /SUBSYSTEM compiler flag, ki sporoci da je win32 aplikacija, in ne bo prikazalo okna.
Podobno imas tudi pri Windows Forms, kjer v Main.cs (C#) nastavis da ne kreira okna.
GupeM ::
Na hitro spisan primer za javo:
Koda ni najlepša, ampak ti bo morala zadostovati :D
package application; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.Toolkit; import java.awt.TrayIcon; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javafx.application.Application; import javafx.application.Platform; import javafx.scene.Scene; import javafx.scene.layout.BorderPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { try { // Nastavimo, da 'X' za zaprtje aplikacije, le-te ne zapre. Platform.setImplicitExit(false); // Nastavimo meni, ki se prikaže ob desnem kliku na ikono v system trayu. PopupMenu pm = new PopupMenu(); MenuItem show_hide = new MenuItem("Hide"); MenuItem close = new MenuItem("Exit"); // Listener, ki spreminja napis v popup meniju, glede na to, ali je okno prikazano ali ne primaryStage.showingProperty().addListener((item, oldVal, newVal) -> { show_hide.setLabel(newVal.booleanValue() ? "Hide" : "Show"); }); // Listener, ki skriva/prikazuje okno show_hide.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Platform.runLater(() -> { if (primaryStage.isShowing()) { primaryStage.hide(); } else { primaryStage.show(); } }); } }); // Listener, ki zapre okno ob kliku na "Exit" close.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Platform.exit(); System.exit(0); } }); pm.add(show_hide); pm.add(close); // Damo ikono v System tray SystemTray.getSystemTray() .add(new TrayIcon(Toolkit.getDefaultToolkit().getImage("POT DO SLIKE"), "Tooltip", pm)); BorderPane root = new BorderPane(); Scene scene = new Scene(root, 400, 400); primaryStage.setScene(scene); primaryStage.show(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } }
Koda ni najlepša, ampak ti bo morala zadostovati :D
marjan_h ::
Hvala, ali ta JavaFX je že del Jave? Tako kot včasih, no kateri GUI je bil prvi pri javi.
GupeM ::
Ja, JavaFX je že del Jave. Mislim, da od verzije 7 naprej. Sigurno pa od 8 naprej. Lahko uporabiš tudi Swing, AWT, karkoli drugega.
GupeM ::
Kaj pa vem... AWT je res dead, Swing (SWT), pa je še vedno aktualen. JavaFX ima težave, ker je zadeva dokaj nova. Upam, da v verziji 9 porihtajo nekaj stvari. Pri nekaterih stvareh je res močna (Observable interface, Property interface ipd.).
konspirator ::
antivirusni program delujo kot sistemski servis https://www.howtogeek.com/50786/using-s... ,
ut gre v system tray
https://www.codeproject.com/Articles/60...
http://stackoverflow.com/questions/7705...
https://social.msdn.microsoft.com/Forum...
https://www.codeproject.com/Articles/27...
ut gre v system tray
https://www.codeproject.com/Articles/60...
http://stackoverflow.com/questions/7705...
https://social.msdn.microsoft.com/Forum...
https://www.codeproject.com/Articles/27...
--
Zgodovina sprememb…
- spremenilo: konspirator ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Vprašanje iz JaveOddelek: Programiranje | 1162 (902) | illion |
» | [Java] Nova nit znotraj JPanel.paintComponent()Oddelek: Programiranje | 1975 (1762) | alexa-lol |
» | [Java]VprašanjaOddelek: Programiranje | 2118 (1586) | Bela01 |
» | [Java] ZmešnjavaOddelek: Programiranje | 2085 (1590) | ]Fusion[ |
» | Java,actionlistener problemOddelek: Programiranje | 1143 (1129) | JaaZoo |