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

WinDev Discussion :

Pas d'icone d'appli au reboot du pc [WD17]


Sujet :

WinDev

  1. #1
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut Pas d'icone d'appli au reboot du pc
    Bonjour

    J'ai fait une appli de synchro de fichiers qui tourne sur un serveur W2003.
    J'ai créé une tâche planifiée pour relancer l'appli au reboot du serveur.
    Après reboot, si j'ouvre une session, l'exe tourne bien dans le gestionaire des tâche, mais je ne vois pas l'icône du programme dans la taskBar, et du coup je n'ai pas d'accès à la fenêtre principale.

    Pour faire apparaitre l'icône, j'ai utilisé le code suivant :

    dans l'initialisation du projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     MettreMonIconeDansLeSysTray()
     
    iMsgTaskbarCreated est entier=AppelDLL32("user32","RegisterWindowMessageA","TaskbarCreated")
    Evénement("MettreMonIconeDansLeSysTray","*.*",iMsgTaskbarCreated)

    et une procédure globale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PROCEDURE MettreMonIconeDansLeSysTray()
    SysIconeAjoute("Publisher.ico","","Publisher","ClicIcone")


    Malgré tout cela, l'icône n'apparait que si je lance l'aplication alors que la session est déjà ouverte.
    Mais cela ne fonctionne pas si le serveur redémarre.

    Comment puis-je faire pour que l'icône de l'appli soit visible à l'ouverture d'une session ?

    Merci
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Pour ce genre de programme, j'utilise l'astuce suivante : Je crée un projet avec une première fenêtre du projet qui est invisible (onglet ihm de la fenêtre). Dans le code d'init, j'ouvre la fenêtre principale de mon projet, qui contient le code suivant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    moimeme..visible = faux
    SysIconeAjoute(fen_principale.img_Publisher,"","Publisher","ClicIcone")
    Un point à vérifier: s'il ne crée pas ton icône, ne serait-ce pas car il n'est pas présent dans le dossier de l'appli ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Pour palier au pblm du fichier .ico qui pourrait être absent, je l'ai inclu dans les ressouces du projet, et il est donc compilé dans l'exe.

    De plus, l'icône apparaît bien si je lance manuellement l'appli dans une session Windows.

    C'est seulement quand le programme est lancé automatiquement sans session d'ouverte que l'icône n'apparaît pas (bon là c'est normal, on ne peut pas le voir ), et n'apparaît toujours pas non plus si j'ouvre une session après que l'appli ait démarré.
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  4. #4
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Ta tâche planifiée, elle est lancée avec quel utilisateur ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #5
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Le compte Administrateur.

    Elle se lance bien, et elle fait ce qu'elle a à faire.
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  6. #6
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    En mettant un timersys() qui toutes les 10 secondes va faire un sysiconemodifie("","Publisher").

    Ca ne dit pas pourquoi il ne se crée pas mais ça devrait le faire apparaître...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  7. #7
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Bonne idée !
    Malheureusement ça ne fonctionne pas.

    Le timer se lance bien et s'éxécute à l'intervalle spécifié (j'ai mis des logs), mais sysiconemodifie ne fait rien, même en forçant le nom du .ico
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  8. #8
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    un truc me chiffonne : si la session n'est pas lancée, le systray n'existe pas donc je ne vois pas comment on pourrait ajouter une icône dans un truc qui n'existe pas ....

    à bientôt,

    Nicolas

  9. #9
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Nicolas_Jeanneau Voir le message
    un truc me chiffonne : si la session n'est pas lancée, le systray n'existe pas donc je ne vois pas comment on pourrait ajouter une icône dans un truc qui n'existe pas ....
    Exact, d'où l'interêt du bout de code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    iMsgTaskbarCreated est entier=AppelDLL32("user32","RegisterWindowMessageA","TaskbarCreated")
    Evénement("MettreMonIconeDansLeSysTray","*.*",iMsgTaskbarCreated)
    qui était censé appeler ma procédure globale et faire un SysIconeAjoute lorsque la taskbar est créée à l'ouverture de la session.
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  10. #10
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Recherche (très) vite faite sur le net. Il semble que l'api que tu utilises soit destinée à une fenêtre (pas juste à un module de code). Il fau(drai)t donc le mettre dans le code d'init de la première fenêtre du projet.

    De plus, je ne suis pas certain que celà concerne la zone de notification, mais la barre des tâches. Point à vérifier cependant.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  11. #11
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    J'avoue que j'ai pompé ce code en cherchant sur le web, et débutant en Windev, je ne saurais dire si la syntaxe est bonne ou s'il manque des bouts.

    Mais si comme tu le dis ce code est destiné à une fenêtre, alors est-ce que cela peut convenir dans la mesure où aucune fenêtre n'est ouverte lorsque l'appli démarre session fermée ? (je le sais parce que j'avais des problèmes pour lire des paramètres dont les valeurs sont mémorisées par l'IHM, et j'ai du aller les lire dans la base de registre)
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  12. #12
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Pas la peine d'inventer l'eau chaude, c'est déjà fait.

    Ton appli a-t'elle une fenêtre ? Essaye de mettre ton code dans la partie init.

    Sinon, essaye avec ma méthode (fenêtres invisibles) pour voir ce que cela donne
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  13. #13
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    ah, je pense avoir répondu en éditant mon post précédent, on s'est croisé.
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  14. #14
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Tu lances l'appli avec le compte administrateur, soit, mais est-ce que tu ouvres ta session avec le même compte ?

  15. #15
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Nicolas_Jeanneau Voir le message
    Tu lances l'appli avec le compte administrateur, soit, mais est-ce que tu ouvres ta session avec le même compte ?
    Oui, c'est le même compte (DOMAINE\Administrateur), même mdp.

    Et en ce moment je teste sur un de mes serveurs de dév, sans relancer la machine mais juste en fermant la session, et avec une tâche planifiée qui relance l'appli une minute après fermeture, et ça fait pareil.
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  16. #16
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    avant de faire SysIconeAjoute, peux-tu ajouter SysIconeSupprime pour être sûr de ne pas essayer d'ajouter une icône déjà référencée (mais pas affichée à priori) ?

    De plus l'aide spécifie : "Pour que l'icône soit visible, les fenêtres en cours doivent être non-maximisées". Si tu n'en as toujours pas à l'ouverture de session, cela ne devrait pas poser de problème.

  17. #17
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Pas mieux.

    J'ai même essayé en modifiant le timer et en remplaçant sysiconemodifie par SysIconeSupprime + SysIconeAjoute, et nada.
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  18. #18
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    En utilisant uniquement les API windows (Shell_NotifyIconA notamment)

    Va voir de ce coté (non testé) :
    http://tunidev.net/iconiser-dans-la-...ows-t6339.html
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  19. #19
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    J'ai réécrit le timer en utilisant les instruction API, et c'est pas mieux
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  20. #20
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Ton appli est bien fermée lorsque tu l'arrêtes ?

    Est ce que ton fichier icone est bien accessible lorsque la session est fermée ?

    Désolé, je ne peux pas tester pour l'instant. Je suis un peu trop débordé...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. pas d'icone install sur mon liveCD
    Par vpourchet dans le forum Solaris
    Réponses: 0
    Dernier message: 29/06/2009, 09h06
  2. [Lazarus] Mon exe n'a pas d'icone
    Par Cazaux-Moutou-Philippe dans le forum Lazarus
    Réponses: 13
    Dernier message: 15/06/2008, 11h42
  3. Démarrage appli au reboot windows
    Par MottetCCSF dans le forum Delphi
    Réponses: 1
    Dernier message: 19/12/2006, 17h10
  4. j'ai pas les icones de mon bureau soudainement
    Par StyleXP dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 26/03/2006, 15h09
  5. [Système][Runtime]J'arrive pas à lancer une appli externe !?!
    Par polnioumane dans le forum Général Java
    Réponses: 6
    Dernier message: 16/11/2005, 18h55

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