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

Delphi Discussion :

est il possible de minimiser mon programme (icone cacher) et ++


Sujet :

Delphi

  1. #1
    Membre actif
    Homme Profil pro
    informatitien
    Inscrit en
    Janvier 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : informatitien

    Informations forums :
    Inscription : Janvier 2016
    Messages : 20
    Par défaut est il possible de minimiser mon programme (icone cacher) et ++
    bonjour a tous je désire savoir

    1. comment faire pour minimiser mon programme (icône cacher) tel que (IDM - UTORRENT ....)
    2. est il possible de l’exécuter automatiquement au démarrage du pc (par delphi pas par windows msconfig )

    et merci

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 093
    Par défaut
    NotifyIcon soit celui de la JEDI soit directement via l'API Shell_NotifyIcon
    Il doit y avoir maintenant le TTrayIcon en VCL native selon la version (je l'ai en D10 Seattle) et c'est même avec un exemple dans la documentation, si tu poses la question, je devine un vieux Delphi, genre Delphi 7 ou c'est plus "brut" dont voici un code qui a 20 ans (pas terrible d'ailleurs) :

    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
    procedure TNotifyTaskBar***Form.CreateNotifyIcon(DoAdd: Boolean = True; const AlternateMsg: string = ''; DoAlert: Boolean = False; DoPause: Boolean = False);
    const
      NIF_INFO = $00000010;
      NIIF_INFO = $00000001;
    var
       ResultIcon: TIcon;
       BarTaskString: string;
    begin
       ResultIcon := TIcon.Create();
       try
          InternalNotifyIconData.cbSize:= SizeOf(InternalNotifyIconData); //  ShellAPI.TNotifyIconData
          InternalNotifyIconData.Wnd:= Handle;
          InternalNotifyIconData.uID:= 1;
          InternalNotifyIconData.uFlags:= NIF_ICON or NIF_TIP or NIF_MESSAGE;
          InternalNotifyIconData.uCallbackMessage := WM_MYNOTIFYEVENT;
     
          if DoAlert then
            ResultIcon.Assign(ImageActive.Picture.Icon)
          else
            ResultIcon.Assign(Application.Icon);
     
          if DoPause then
            ResultIcon.Assign(ImagePause.Picture.Icon);
     
          InternalNotifyIconData.hIcon := ResultIcon.Handle;
     
          BarTaskString := Application.Title + AlternateMsg;
          ZeroMemory(@InternalNotifyIconData.szTip[0], Length(InternalNotifyIconData.szTip));
          CopyMemory(@InternalNotifyIconData.szTip[0], @BarTaskString[1], Length(BarTaskString));
          InternalNotifyIconData.szTip[Length(InternalNotifyIconData.szTip)-1]:= #0; // Garanti le Zéro Terminal même si Application.Title est plus long
     
          if DoAdd then
             Shell_NotifyIcon(NIM_ADD, @InternalNotifyIconData)
          else
             Shell_NotifyIcon(NIM_MODIFY, @InternalNotifyIconData);
     
       finally
          ResultIcon.Free();
       end;
    end;
     
    procedure TNotifyTaskBar***Form.DestroyNotifyIcon();
    begin
      if (@InternalNotifyIconData <> nil) then begin
         Shell_NotifyIcon(NIM_DELETE, @InternalNotifyIconData); //retire la petite icône de la barre des taches
      end;
    end;

    Base de Registre, SOFTWARE\Microsoft\Windows\CurrentVersion\Run mais pourquoi ne pas plutôt songer à un Service ?
    HKEY_LOCAL_MACHINE ou HKEY_CURRENT_USER selon si c'est global ou à l'utilisateur


    PS : Pourquoi ton texte est-il écrit en grand ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre actif
    Homme Profil pro
    informatitien
    Inscrit en
    Janvier 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : informatitien

    Informations forums :
    Inscription : Janvier 2016
    Messages : 20
    Par défaut
    PS : Pourquoi ton texte est-il écrit en grand ?
    je vous remercie pour votre aide

    j'utilise delphi 10.3
    mon texte est écrit en grand pour que j'arrive a le lire

Discussions similaires

  1. Est-il possible de créer un programme VB6 avec VS 2008 ?
    Par beegees dans le forum EDI/Outils
    Réponses: 2
    Dernier message: 20/06/2008, 19h41
  2. Est-il possible d'obtenir automatiquement des icones du système ?
    Par ForgetTheNorm dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 01/04/2008, 23h17
  3. Réponses: 3
    Dernier message: 17/12/2007, 10h58
  4. Est ce possible de migrer mon projet vers dev-cpp.
    Par thecrafty dans le forum Dev-C++
    Réponses: 1
    Dernier message: 23/07/2006, 15h43
  5. Réponses: 1
    Dernier message: 11/07/2006, 16h28

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