IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

JAVA : application spécifique à windows ?


Sujet :

Java

  1. #1
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut JAVA : application spécifique à windows ?
    Bonjour,

    J'aimerai savoir s'il y a des possibilités en Java d'effectuer des choses propres à windows.

    Par exemple, est-il possible en Java de rendre l'application bloquante (pas de possibilité de cliquer sur autre chose tant que la fenetre est ouverte), de la "minimiser à côté de l'horloge", de lancer le programme au démarrage, et de récupérer le nom de la session windows ouverte...

    Je dois réaliser un développement me permettant entre autre de faire ce genre de chose. Cependant, dans le but d'économiser le temps d'apprentissage d'une autre technologie (vu que je maîtrise le Java), j'aimerai savoir si il existe une solution permettant de faire cela en Java (en invoquant des dll systeme par exemple ou autre solution...).

    Merci d'avance pour tous les conseils et remarques que vous me donnerez

  2. #2
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Pour minimiser à côté de l'horloge:
    http://baptiste-wicht.developpez.com...a/integration/

    Pour lancer au démarrage, crée simplement un raccourci dans le menu démarrer/Programmes/Démarrage...

    Pour le reste, je ne sais pas

  3. #3
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Superbe

    Merci pour ta vitesse de réaction

    Bon donc 2 points sont traités, m'en reste encore 2, dont principalement (le plus important) la possibilité de bloquer l'interface sur la fenetre Java...

    Si quelqu'un d'autres a des idées ou des pistes, qu'il n'hésite surtout pas

    Encore merci à ®om

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Hello

    Déjà, pour identifier que tu es sous windows, il faut utiliser ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.getProperty("os.name")
    qui renvoie une chaîne genre "Windows XP"

    Pour le nom de la session ouverte, c'est pareil ou presque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getProperty("user.name")
    qui renverra "root", "Admin", etc...

    Pour le répertoire par défaut de l'utilisateur ("home"), c'est à nouveau pareil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.getProperty("user.home")
    qui renvoie "C:\Documents and Settings\[username]\"

    Enfin bref, y'en a toute une liste, qui est dispo ici

    Pour le reste je ne sais pas vraiment, pour les appels de dll windows, il faut passer par JNI (Java Native Interface), il n'y a pas beaucoup de ressources sur ce sujet sur dvp (en général on essaie de ne pas utiliser ça, car on perd la portabilité), mais tu trouveras quelques bouts de code ici

    Bon courage

  5. #5
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    C'est magnifique

    Je pensais pas avoir des réponses aussi rapides

    Merci beaucoup à vous 2

    Pour le dernier point, bloquer la fenêtre, dans le but d'obliger l'utilisateur à remplir un fomulaire, j'ai la solution de mettre à true la propriété alwaysOnTop des fenêtres en Swing...
    Cependant, rien ne l'empêche de la réduire et donc de l'ignorer complètement...

    Il me faudrait donc, si possible, une autre solution...

    Encore un grand merci à vous 2


    Sinon, concernant le fait de perdre la portabilité, j'en suis conscient. L'objectif est de réaliser un programme permettant ce genre de chose. Si cela n'est pas portable, peu importe, du moment que cela est faisable sur la majorité des machines des futurs clients...

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par Claythest
    C'est magnifique

    Je pensais pas avoir des réponses aussi rapides

    Merci beaucoup à vous 2

    Pour le dernier point, bloquer la fenêtre, dans le but d'obliger l'utilisateur à remplir un fomulaire, j'ai la solution de mettre à true la propriété alwaysOnTop des fenêtres en Swing...
    Cependant, rien ne l'empêche de la réduire et donc de l'ignorer complètement...

    Il me faudrait donc, si possible, une autre solution...

    Encore un grand merci à vous 2
    Dans quel but exactement tu as besoin que l'utilisateur remplisse absolument le formulaire avant de faire n'importe quoi d'autre?
    Sinon tu écoutes la minimisation de la fenêtre, et quand il minimise tu restores

  7. #7
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Ben en fait je veux simplement le forcer à remplir des informations avant qu'il ne continue tout travail de n'importe quelle sorte sur sa machine. Il remplit ce formulaire, et après il pourra reprendre son boulot, mais pas avant.

    Donc il faut que ce soit bloquable pour l'utilisateur, qu'il n'ai aucun moyen pour échapper à cette demande d'informations.

    Ecouter la minimisation serait une solution, mais il me faudrait en plus écouter le alt+tab (sous windows), et que sais-je encore (je ne connais pas tous les subterfuges possibles ). Bloquer carrément la fenêtre serait un moyen simple et efficace, si cela est possible bien évidemment...

  8. #8
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut
    Citation Envoyé par ®om
    Dans quel but exactement tu as besoin que l'utilisateur remplisse absolument le formulaire avant de faire n'importe quoi d'autre?
    Sinon tu écoutes la minimisation de la fenêtre, et quand il minimise tu restores
    Et m'utilisateur envoie son ordi par la fenêtre ...

    ((désolée de cette mauvaise pharase)) ...

    Je sait pas si ca aide mais les JOptionPane peuvent un peu avoir ce comportement si on les rend non fermable (moi j'ai des cas qui ne se minimise pas avec la fenetre) .. par contre je peut quand meme acceder aux autres application ) ... carrément bloquer l'os je suis pas certaine que ce soit faisable (et surtout extrement déconseiller ... a ne jamais même envisager si tu avais eu un de mes profs lol )

  9. #9
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par Claythest
    Donc il faut que ce soit bloquable pour l'utilisateur, qu'il n'ai aucun moyen pour échapper à cette demande d'informations.
    Et avec un fullscreen?

    ça règle pas mal de problème en général

    si tu veux je l'ai déjà implémenté, faudrait que je recherche les sources


  10. #10
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Je suis ok avec toi Lady : l'utilisateur aura envie de jeter son ordinateur par la fenêtre...

    MAis malheureusement, c'est un peu le but

    Ce sera dans le cadre de son boulot, IL DEVRA REMPLIR CES INFORMATIONS AVANT DE CONTINUER SON TRAVAIL !

    C'est une contrainte forte, afin de l'y obliger, qu'il n'ai pas la possibilité de mettre ma fenêtre de coté pour finir ce qu'il est en train de faire et finalement oublier de remplir les infos...

    Que ça fasse chi*** l'utilisateur, ben c'est un peu le but en fait

  11. #11
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Citation Envoyé par Pill_S
    Et avec un fullscreen?

    ça règle pas mal de problème en général

    si tu veux je l'ai déjà implémenté, faudrait que je recherche les sources

    Ah ah

    Intéressant... Je suis intéressé oui

    J'essaierai ensuite de développer un fenetre swing regroupant toutes les caractéristiques de mon premier post

    Mais je sens qu'il y a plusieurs pistes maintenant pour rendre la fenetre bloquante... Je les testerai, et une fois obtenu une version correcte, je posterai les sources ici

    Encore une fois, merci beaucoup pour toute cette motivation

  12. #12
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par Claythest
    Intéressant... Je suis intéressé oui
    Ok

    Je l'avais implémenté pendant mes études, sur le projet du jeu de la vie

    Voilà le bout de code qui passait en plein écran (y'a pas tout qui est lié au mode full screen, mais tu devrais pouvoir filtrer facilement ce que tu as besoin)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    private void toggleFullScreen() {
        GraphicsDevice gD = GraphicsEnvironment.getLocalGraphicsEnvironment()
                                               .getDefaultScreenDevice();
     
        if (!gD.isFullScreenSupported())
          throw new UnsupportedOperationException("Plein écran non supporté !");
        else if (gD.getFullScreenWindow() == null) {
          final JFrame jFrame = new JFrame();
          jFrame.setUndecorated(true);
     
          LifeGameView clone = new LifeGameView(lifeGameView);
          clone.start();
          addToggleFullScreenMouseListener(clone);
          jFrame.getContentPane().add(clone);
          jFrame.addKeyListener(new KeyAdapter() {
              public void keyReleased(KeyEvent ke) {
                int code = ke.getKeyCode();
     
                if ((code == KeyEvent.VK_ESCAPE) || (code == KeyEvent.VK_ENTER) ||
                    (code == KeyEvent.VK_SPACE)) {
                  toggleFullScreen();
                  jFrame.setVisible(false);
                  jFrame.dispose();
                }
              }
            });
          setVisible(false);
          gD.setFullScreenWindow(jFrame);
        } else {
          gD.setFullScreenWindow(null);
          setVisible(true);
        }
      }


    Le résultat est dispo en fichier joint, fait un test pour voir si ça réagit comme tu le veux (j'ai mis .fla pour pouvoir le joindre -> à retirer)

    Lance et prend "Options -> Passer en plein écran"

    Faudra encore juste gérer les "Alt-Tab" (je viens de voir que ça masquait la fenêtre)
    Fichiers attachés Fichiers attachés

  13. #13
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Merci énormément pour ton aide Pill_S

    Je vous tiens au courant

  14. #14
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Voila

    J'ai obtenu tout ce que je voulais

    En effet, pour lancer un programme au démarrage, rien de plus facile, il suffit de mettre un raccourci dans le dossier démarrage de windows.

    Pour récupérer le nom de la session ouverte, le System.getProperty fonctionne parfaitement

    Pour l'icone à côté de l'horloge, c'est très facile grâce au lien de ®om.

    Et enfin, pour le dernier point, je n'ai finalement pas utilisé le mode full screen.

    J'ai en fait utilisé la méthode proposée par ®om qui est d'empecher la minimisation de la fenetre en écoutant les évènements et en la remettant à sa taille dès que cela arrive. Combiné avec un redimensionnement impossible (setResizable(false)), avec un setAlwaysOnTop(true), un setUndecorated(true) (pour empecher l'utilisateur de la déplacer) et en la positionnant au milieu, on obtient une fenetre toujours visible en plein milieu de l'écran.

    Certes, cela ne force pas la main sur cette fenetre, mais avoir une fenetre en plein milieu de l'écran, ca peut etre lourd a force, forcant l'utilisateur à prendre les 30 secondes nécessaires pour la saisie de quelques informations

    En pièces jointes, la source d'un petit programme de test illustrant tous ces points ainsi que l'archive (enlever le .fla du nom du fichier), ainsi que l'icone utilisée (à mettre dans le même répertoire que le .jar).

    Si j'ai oublié un détail et si vous trouvez une faille, un moyen de gruger et de virer la fenêtre, merci de m'en tenir informé

    Encore un énorme merci à vous 3 pour m'avoir sacrément bien aidé !



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    /*
     * TestIHM.java
     *
     * Created on 20 juillet 2007, 13:53
     */
     
    package testihmwin;
     
    import java.awt.AWTException;
    import java.awt.BorderLayout;
    import java.awt.Frame;
    import java.awt.Image;
    import java.awt.MenuItem;
    import java.awt.PopupMenu;
    import java.awt.SystemTray;
    import java.awt.TrayIcon;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowStateListener;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.Box;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.SwingUtilities;
    import javax.swing.UIManager;
    import javax.swing.WindowConstants;
     
    /**
     *
     * @author Claythest
     */
    public class TestIHM extends JFrame {
     
        private JLabel userNameLabel;
        private TrayIcon trayIcon;
        private PopupMenu trayPopupMenu;
        private MenuItem openMenu;
        private MenuItem closeMenu;
        private Image image;
     
        /**
         * Creates a new instance of TestIHM
         */
        public TestIHM() {
            super("Test");
     
            try {
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            } catch (Exception e1) {
                e1.printStackTrace();
            }
     
            setIconImage(getImage());
            setAlwaysOnTop(true);
            setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
            addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    onCloseWindow();
                }
            });
     
            setUndecorated(true);
            setResizable(false);
            addWindowStateListener(new WindowStateListener() {
                public void windowStateChanged(WindowEvent e) {
                    if (e.getNewState() == Frame.ICONIFIED)
                        TestIHM.this.setState(Frame.NORMAL);
                }
            });
     
            getContentPane().add(getUserNameLabel(), BorderLayout.CENTER);
     
            getContentPane().add(Box.createVerticalStrut(12), BorderLayout.NORTH);
            getContentPane().add(Box.createVerticalStrut(12), BorderLayout.SOUTH);
            getContentPane().add(Box.createHorizontalStrut(12), BorderLayout.EAST);
            getContentPane().add(Box.createHorizontalStrut(12), BorderLayout.WEST);
     
            pack();
            setLocationRelativeTo(null);
        }
     
        private Image getImage() {
            if (image == null)
                try {
                    image = ImageIO.read(new File("icone.gif"));
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
     
            return image;
        }
     
        private JLabel getUserNameLabel() {
            if (userNameLabel == null) {
                String userName = System.getProperty("user.name");
                userNameLabel = new JLabel("Vous êtes sur la session de " + userName);
            }
     
            return userNameLabel;
        }
     
        private TrayIcon getTrayIcon() {
            if (trayIcon == null) {
                trayIcon = new TrayIcon(getImage(), "Test IHM", getTrayPopupMenu());
                trayIcon.setImageAutoSize(true);
                trayIcon.addMouseListener(new MouseAdapter() {
                    public void mouseClicked(MouseEvent e) {
                        if (e.getButton() == MouseEvent.BUTTON1)
                            showWindow();
                    }
                });
            }
     
            return trayIcon;
        }
     
        private PopupMenu getTrayPopupMenu() {
            if (trayPopupMenu == null) {
                trayPopupMenu = new PopupMenu();
                trayPopupMenu.add(getOpenMenu());
                trayPopupMenu.add(getCloseMenu());
            }
     
            return trayPopupMenu;
        }
     
        private MenuItem getOpenMenu() {
            if (openMenu == null) {
                openMenu = new MenuItem("Ouvrir...");
                openMenu.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        showWindow();
                    }
                });
            }
     
            return openMenu;
        }
     
        private MenuItem getCloseMenu() {
            if (closeMenu == null) {
                closeMenu = new MenuItem("Fermer");
                closeMenu.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        removeTrayIcon(getTrayIcon());
                        System.exit(0);
                    }
                });
            }
     
            return closeMenu;
        }
     
        private void onCloseWindow() {
            setVisible(false);
            addTrayIcon(getTrayIcon());
        }
     
        private void showWindow() {
            TestIHM.this.setVisible(true);
            removeTrayIcon(getTrayIcon());
        }
     
        public static void addTrayIcon(TrayIcon toAdd) {
            if(SystemTray.isSupported())
                try {
                    SystemTray.getSystemTray().add(toAdd);
                } catch (AWTException ex) {
                    ex.printStackTrace();
                }
        }
     
        public static void removeTrayIcon(TrayIcon toRemove) {
            if(SystemTray.isSupported())
                SystemTray.getSystemTray().remove(toRemove);
        }
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    addTrayIcon((new TestIHM()).getTrayIcon());
                }
            });
        }
     
    }

    EDIT : j'ai oublié de préciser que pour fermer la fenetre sur ce programme de test, il faut faire ou un alt+F4, ou un clic droit sur la barre des taches et fermer. Cela aura pour effet de la "remettre" a coté de l'horloge...
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  15. #15
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par Claythest
    Si j'ai oublié un détail et si vous trouvez une faille, un moyen de gruger et de virer la fenêtre, merci de m'en tenir informé
    L'équivalent du kill -9 (ou killall) sur ton programme (par exemple ctrl alt suppr, fermer )

    D'ailleurs sous windows, comment on tue un processus par son numéro (en ligne de commande)?

  16. #16
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Citation Envoyé par ®om
    L'équivalent du kill -9 (ou killall) sur ton programme (par exemple ctrl alt suppr, fermer )
    oui, mais là, c'est bon, c'est plus de ma faute

    S'il tue le processus (qui tournera en fait tout le temps en fond), la responsabilité n'en est plus sur mes épaules (quoique... en effet, faut que j'en discute )

    Sinon il existe un moyen d'empecher le kill d'un processus ?


    D'ailleurs sous windows, comment on tue un processus par son numéro (en ligne de commande)?
    Aucune idée...

  17. #17
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par Claythest
    Sinon il existe un moyen d'empecher le kill d'un processus ?
    Nein!

    ou alors en rusant...

    Genre 2 process qui se surveillent mutuellement: si je kill le premier, le 2ème se charge de le relancer et vice versa

    Mais ça se rapproche du mode de fonctionnement de certains vers & trojans...

    A la limite, les antivirus pourraient s'affoler!


  18. #18
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    Oui c'est bien ce qu'il me semble... Donc je ne suis plus en faute si l'utilisateur en arrive à ce point là... Il se prendra une remontrance par son patron... Mais le logiciel ne pourra pas faire grand chose pour éviter cela...

    Le but étant en fait pour être sur que l'utilisateur remplisse des infos, pour être sûr qu'il prenne le temps de le faire et qu'il n'oublie pas. Si l'utilisateur est acharné, qu'il ne supporte pas ce logiciel, rien ne l'empeche non plus de virer le programme de sa machine... Donc bon, des solutions pour virer cette fenetre, il en trouvera, mais je ne serai plus le fautif

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Démarrer mon application Java comme service Windows?
    Par froggie dans le forum Général Java
    Réponses: 15
    Dernier message: 05/11/2012, 13h40
  2. Application java en service windows
    Par MASSAKA dans le forum Langage
    Réponses: 1
    Dernier message: 19/10/2009, 09h45
  3. Application java comme service windows
    Par kam81 dans le forum Langage
    Réponses: 1
    Dernier message: 29/04/2007, 09h14
  4. [Java] Viewer spécifique selon le type du fichier à charger
    Par themis dans le forum Design Patterns
    Réponses: 7
    Dernier message: 22/11/2005, 21h50
  5. fermeture de l'application par windows
    Par gudul dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2005, 17h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo