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

Windows Forms Discussion :

Réduction dans le systray pour libérer mémoire


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 33
    Par défaut Réduction dans le systray pour libérer mémoire
    Bonjour à tous

    Tout d'abord meilleurs Voeux à tous !!!

    Voila j'utilise ce bout de code pour minimiser mon appli totalement (u n peu comme msn) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Private Sub Principal_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            'Me.Hide()
            Me.WindowState = FormWindowState.Minimized
            e.Cancel = True
            Me.ShowInTaskbar = False
        End Sub
    - le "bouton croix" sert à minimiser totalement (uniquement visible en icone dans la systray)
    - le "bouton barre "de reduction a sa fonction classique

    Sauf que je voudrais pouvoir réduire mon appli avec la croix, avec le code utilisée par la barre de réduction....Car lorque on réduit avec le "bouton barre" on libère de la mémoire....il doit donc bien y avoir une action....

    Merci pour vos réponses.....

  2. #2
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 33
    Par défaut
    En fait c'est l''évenement windowState = windowState.minimized qui permet de libérer la mémoire....

    du coup j'utilise ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Private Sub Principal_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            Me.WindowState = FormWindowState.Minimized
            Me.Visible = False
            e.Cancel = True
            Me.ShowInTaskbar = False
            SetProcessWorkingSetSize()
        End Sub
    et cette fonction pour réduire la taille mémoire du processus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Private Declare Auto Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal procHandle As IntPtr, ByVal min As Int32, ByVal max As Int32) As Boolean
        Public Sub SetProcessWorkingSetSize()
            Try
                Dim Mem As Process
                Mem = Process.GetCurrentProcess()
                SetProcessWorkingSetSize(Mem.Handle, -1, -1)
            Catch ex As Exception
                MsgBox(ex.ToString)
     
            End Try
        End Sub
    voila a+

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

Discussions similaires

  1. Réduction de la fenêtre dans le "systray"
    Par Supersonik dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 14/06/2011, 09h57
  2. [SDL_Mixer] Problème pour libèrer la mémoire
    Par Thedahu dans le forum Débuter
    Réponses: 15
    Dernier message: 13/02/2011, 12h44
  3. Pb avec des fonctions pour libérer la mémoire
    Par Krisprolls31 dans le forum C
    Réponses: 3
    Dernier message: 26/08/2010, 14h14
  4. Réponses: 1
    Dernier message: 13/08/2009, 10h59
  5. réduction dans le systray
    Par ascguk dans le forum wxPython
    Réponses: 2
    Dernier message: 31/03/2007, 16h57

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