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 :

[C#] Cacher une Form active


Sujet :

Windows Forms

  1. #1
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut [C#] Cacher une Form active
    Bonjour à tous,

    Voilà je fais simplement une recopie de la touche "Imp. écr.",
    mais en plus pratique, la mienne, enregistre automatiquement
    l'image jpeg... juste à l'appui sur la touche.

    J'ai ma fonction sur une Form,
    Comment rendre cette Form, en tant que
    processus Windows, comme la touche "Impr. ecr.", qui marche
    tout le temps, et en gardant cette Form, invisible nulle part si ce
    n'est dans le Gestionnaire des tâches ?

    Merci.

  2. #2
    Membre régulier Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    As-tu réellement besoin d'une form? Si non, .. n'en ouvre pas..

    Par contre pour l'écoute de la touche "print screen" va falloir chercher du côté de l'API windows.. Au minimum.. Tu vas devoir chipoter à la gestion des messages..

  3. #3
    Membre régulier Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Regarde ca pour l'interception des messages windows..
    http://jab.developpez.com/sources/cs...terception.zip

  4. #4
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Non mais j'ai déjà tout mon tralala qui marche, mais ça marche
    quand ma Form est ouverte...

    Je veux simplement savoir si
    c'est possible d'insérer la fonction de ma Form (capture d'écran + save)
    dans Windows sans avoir à l'ouvrir, comme une fonction normale, telle
    "Impr ecr."

  5. #5
    Membre confirmé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Points : 511
    Points
    511
    Par défaut
    pour cacher ta form, tu peux toujours mettre visible et showintaskbar à false.

  6. #6
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Oui mais si j'ouvre une fenêtre IE ou une quelconque application
    ma Form ne sera plus active ?! Et ma touche pour faire une impression
    écran ne marchera pas, par exemple la touche ° ?

  7. #7
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Ou alors comment rendre ma Form invisible durant 0.5 seconde par exemple Avec la propriété Visible

    Pourquoi ça ne marche pas :

    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
    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == Convert.ToChar("e"))
                {
                    Form1.ActiveForm.Visible = false;
     
                    System.Threading.Thread.Sleep(20);
     
                    pictureBox1.Image = CaptureScreen(Screen.PrimaryScreen.Bounds);
                    Bitmap aa = new Bitmap(pictureBox1.Image);
                    aa.Save("C:\\oua.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
     
                    System.Threading.Thread.Sleep(20);
     
                    Form1.ActiveForm.Visible = true;               
     
                }
            }
    Il y a une erreur au niveau du :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1.ActiveForm.Visible = true;
    avec l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object reference not set to an instance of an object.

  8. #8
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051
    Par défaut
    pour cette derniere question , il suffit de faire un petit timer !


    tu initialise une variable integer a 5
    tu initialise l'interval de ton timer a 1 dixieme de seconde
    ensuite tu fais

    me.Visible = False
    timer.start


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Private WithEvents t as New Timer
     
        Private Sub t_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles t.Tick
            Var -= 1
            If Var < 0 then 
                me.visible = true
                t.Stop
            End IF
        End Sub

  9. #9
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Merci beaucoup mais je comprend pas bcp ton système, vu
    qu'il faut le traduire en C# en plus

    J'ai essayé avec un Timer un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (Form1.ActiveForm.Visible == false)
    {
    Form1.ActiveForm.Visible = true;
    }
    Dans un Timer rafraichit toutes les 20 milisecondes, mais j'ai la même erreur


  10. #10
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Je viens également d'essayer avec :

    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
     private void Form1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == Convert.ToChar("e"))
                {
                    Form1.ActiveForm.WindowState = FormWindowState.Minimized;
     
                    System.Threading.Thread.Sleep(30);
     
                    pictureBox1.Image = CaptureScreen(Screen.PrimaryScreen.Bounds);
                    Bitmap aa = new Bitmap(pictureBox1.Image);
                    aa.Save("C:\\oua.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
     
                    System.Threading.Thread.Sleep(30);
     
     
     
                    Form1.ActiveForm.WindowState = FormWindowState.Normal;
     
     
                }
            }
    ET ENCORE CETTE MêME ERREUR

  11. #11
    Membre extrêmement actif
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Points : 1 921
    Points
    1 921
    Par défaut
    Bien j'ai trouvé une soltution, un peu coûteuse en energie :

    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
    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == Convert.ToChar("e"))
                {
                    Form1.ActiveForm.Opacity = 0;
     
                    System.Threading.Thread.Sleep(30);
     
                    pictureBox1.Image = CaptureScreen(Screen.PrimaryScreen.Bounds);
                    Bitmap aa = new Bitmap(pictureBox1.Image);
                    aa.Save("C:\\oua.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
     
                    System.Threading.Thread.Sleep(30);
     
     
     
                    Form1.ActiveForm.Opacity = 100;
     
     
                }
            }
    Merci Pour Tout !

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

Discussions similaires

  1. Cacher une form du menu ALT-TAB
    Par cs_ntd dans le forum C#
    Réponses: 1
    Dernier message: 05/10/2009, 09h24
  2. Comment cacher une form ?
    Par Saroumane dans le forum Windows Forms
    Réponses: 9
    Dernier message: 02/06/2008, 15h20
  3. [VB.NET 2005] Cacher une form
    Par Tusbar dans le forum VB.NET
    Réponses: 5
    Dernier message: 07/03/2008, 17h21
  4. Cacher une form.
    Par morgan47 dans le forum VB.NET
    Réponses: 3
    Dernier message: 21/12/2007, 09h53
  5. [C#] cacher une form du alt-tab
    Par xtream dans le forum Windows Forms
    Réponses: 6
    Dernier message: 18/02/2007, 23h13

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