begin process at 2012 02 17 01:06:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VB.NET

 > REDUIRE DES FENETRES DANS LA BARRE DE TACHES EN VB.NET

REDUIRE DES FENETRES DANS LA BARRE DE TACHES EN VB.NET


 Information sur la source

Note :
Aucune note
Catégorie :VB.NET Source .NET ( DotNet ) Classé sous :REDUIRE, FENETRE, BARRE TACHE Niveau :Débutant Date de création :13/06/2008 Date de mise à jour :13/06/2008 19:09:07 Vu :8 282

Auteur : rdelesalle

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

A compiler dans une application "console".
A partir les arguments passés en ligne de commande, les fenêtres, dont le titre contient l'un des arguments, sont réduites dans la barre de tâche.

Programme testé en VB2008 Express.
Il peut être compilé pour le Framework 2.0, 3.0 ou 3.5

Source

  • '===========================================================================================
  • ' Projet : ReduitFenetre
  • ' Gis59 - 13/06/2008
  • '===========================================================================================
  • ' Description : Réduction des fenetres passées en paramétre
  • ' Paramtres : Titres des fenetres
  • '===========================================================================================
  • ' Modif :
  • '===========================================================================================
  • Module Main
  • Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Integer, ByVal wCmd As Integer) As Integer
  • Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Integer, ByVal lpString As String, ByVal cch As Integer) As Integer
  • Private Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Integer) As Integer
  • Private Declare Function GetDesktopWindow Lib "user32" () As Integer
  • Public Declare Function CloseWindow Lib "user32" (ByVal hWnd As Integer) As Integer
  • <VBFixedString(255)> Dim TitreFenetre As String
  • Const GW_HWNDFIRST As Integer = 0
  • Const GW_HWNDLAST As Integer = 1
  • Const GW_HWNDNEXT As Integer = 2
  • Const GW_HWNDPREV As Integer = 3
  • Const GW_OWNER As Integer = 4
  • Const GW_CHILD As Integer = 5
  • Sub Main()
  • Dim blnRet As Boolean = False
  • 'Test si "?" dans les arguments
  • blnRet = TestSiHelp()
  • 'Cherche les fenetres et fait la réduction si pas demande d'aide
  • If Not blnRet Then Call ChercheEtReduit()
  • End Sub
  • '---------------------------------------------------------------------------------------
  • ' Sub : ChercheEtReduit
  • ' Description : Parcout la liste des fenêtres active et réduit les fenêtres dans le nom
  • ' contient un des strings passées en argument au programme.
  • '---------------------------------------------------------------------------------------
  • Sub ChercheEtReduit()
  • Dim hWnd As Integer
  • Dim argument As String
  • Dim Titre As String
  • Dim iNbCar As Integer
  • 'Recupere le Handle du bureau
  • Dim hWndDesktop = GetDesktopWindow()
  • 'Recupere le Handle de la 1ere Fenetre fille
  • hWnd = GetWindow(hWndDesktop, GW_CHILD)
  • 'Boucle sur toute les fenetres filles
  • Do While (Not IsNothing(hWnd)) AndAlso (hWnd <> 0)
  • 'Lecture du titre
  • TitreFenetre = New String(Chr(0), 255)
  • iNbCar = GetWindowText(hWnd, TitreFenetre, 255)
  • If iNbCar > 0 Then
  • 'If TitreFenetre <> New String(Chr(0), 255) Then
  • If IsWindowVisible(hWnd) = 1 Then
  • Titre = Microsoft.VisualBasic.Left(TitreFenetre, iNbCar)
  • 'Parcourt les argument pour chercher une concordance avce le titre
  • For Each argument In My.Application.CommandLineArgs
  • If Titre.ToUpper.Contains(argument.ToUpper) Then
  • Console.WriteLine("Fenetre à réduire : " & Titre.ToString)
  • 'Réduit la fenetre si concordance
  • CloseWindow(hWnd)
  • End If
  • Next
  • End If
  • End If
  • 'Recupere le Handle de la Fenetre fille suivante
  • hWnd = GetWindow(hWnd, GW_HWNDNEXT)
  • Loop
  • End Sub
  • '---------------------------------------------------------------------------------------
  • ' Function : TestSiHelp
  • ' Description : Si un des arguments contient "?", affichage de l'aide
  • ' Retour : True si demande d'aide, sinon false
  • '---------------------------------------------------------------------------------------
  • Function TestSiHelp() As Boolean
  • Dim blnDemandeHelp As Boolean = False
  • Dim argument As String
  • If My.Application.CommandLineArgs.Count = 0 Then
  • blnDemandeHelp = True
  • Else
  • 'Parcoutr les Arguments pour recherche "?"
  • For Each argument In My.Application.CommandLineArgs
  • If argument.Contains("?") Then
  • blnDemandeHelp = True
  • Exit For
  • End If
  • Next
  • End If
  • 'Affiche l'aide
  • If blnDemandeHelp Then
  • Console.WriteLine("")
  • Console.WriteLine("=======================================================================")
  • Console.WriteLine(" ReduitFenetre.exe")
  • Console.WriteLine("=======================================================================")
  • Console.WriteLine("Decription : Réduit dans la barre de tache")
  • Console.WriteLine(" les fenetres passées en argument.")
  • Console.WriteLine("")
  • Console.WriteLine("Syntaxe : ReduitFenetre.exe arg1 [arg2 .... argx] ")
  • Console.WriteLine(" arg1 à argx : titre (ou partie du titre) des fenetres a reduire.")
  • Console.WriteLine("")
  • Console.WriteLine("Exemple : ReduitFenetre.exe ""cmd.exe""")
  • Console.WriteLine(" --> Reduction de toutes les fenetres dant le titre contient cmd.exe")
  • Console.WriteLine("")
  • End If
  • TestSiHelp = blnDemandeHelp
  • End Function
  • End Module
'===========================================================================================
'                               Projet : ReduitFenetre 
'                                Gis59 - 13/06/2008
'===========================================================================================
' Description : Réduction des fenetres passées en paramétre
' Paramtres   : Titres des fenetres
'===========================================================================================
' Modif       :
'===========================================================================================

Module Main

    Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Integer, ByVal wCmd As Integer) As Integer
    Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Integer, ByVal lpString As String, ByVal cch As Integer) As Integer
    Private Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Integer) As Integer
    Private Declare Function GetDesktopWindow Lib "user32" () As Integer
    Public Declare Function CloseWindow Lib "user32" (ByVal hWnd As Integer) As Integer

    <VBFixedString(255)> Dim TitreFenetre As String

    Const GW_HWNDFIRST As Integer = 0
    Const GW_HWNDLAST As Integer = 1
    Const GW_HWNDNEXT As Integer = 2
    Const GW_HWNDPREV As Integer = 3
    Const GW_OWNER As Integer = 4
    Const GW_CHILD As Integer = 5

    Sub Main()
        Dim blnRet As Boolean = False
        'Test si "?" dans les arguments
        blnRet = TestSiHelp()
        'Cherche les fenetres et fait la réduction  si pas demande d'aide
        If Not blnRet Then Call ChercheEtReduit()

    End Sub

    '---------------------------------------------------------------------------------------
    ' Sub           : ChercheEtReduit
    ' Description   : Parcout la liste des fenêtres active et réduit les fenêtres dans le nom
    '                   contient un des strings passées en argument au programme.
    '---------------------------------------------------------------------------------------

    Sub ChercheEtReduit()
        Dim hWnd As Integer
        Dim argument As String
        Dim Titre As String
        Dim iNbCar As Integer

        'Recupere le Handle du bureau
        Dim hWndDesktop = GetDesktopWindow()
        'Recupere le Handle de la 1ere Fenetre fille
        hWnd = GetWindow(hWndDesktop, GW_CHILD)

        'Boucle sur toute les fenetres filles
        Do While (Not IsNothing(hWnd)) AndAlso (hWnd <> 0)
            'Lecture du titre
            TitreFenetre = New String(Chr(0), 255)
            iNbCar = GetWindowText(hWnd, TitreFenetre, 255)
            If iNbCar > 0 Then
                'If TitreFenetre <> New String(Chr(0), 255) Then
                If IsWindowVisible(hWnd) = 1 Then
                    Titre = Microsoft.VisualBasic.Left(TitreFenetre, iNbCar)
                    'Parcourt les argument pour chercher une concordance avce le titre
                    For Each argument In My.Application.CommandLineArgs
                        If Titre.ToUpper.Contains(argument.ToUpper) Then
                            Console.WriteLine("Fenetre à réduire : " & Titre.ToString)
                            'Réduit la fenetre si concordance
                            CloseWindow(hWnd)
                        End If
                    Next
                End If
            End If
            'Recupere le Handle de la Fenetre fille suivante
            hWnd = GetWindow(hWnd, GW_HWNDNEXT)
        Loop
    End Sub

    '---------------------------------------------------------------------------------------
    ' Function      : TestSiHelp
    ' Description   : Si un des arguments contient "?", affichage de l'aide
    ' Retour        : True si demande d'aide, sinon false                  
    '---------------------------------------------------------------------------------------
    Function TestSiHelp() As Boolean
        Dim blnDemandeHelp As Boolean = False
        Dim argument As String

        If My.Application.CommandLineArgs.Count = 0 Then
            blnDemandeHelp = True
        Else
            'Parcoutr les Arguments pour recherche "?"
            For Each argument In My.Application.CommandLineArgs
                If argument.Contains("?") Then
                    blnDemandeHelp = True
                    Exit For
                End If
            Next
        End If

        'Affiche l'aide
        If blnDemandeHelp Then
            Console.WriteLine("")
            Console.WriteLine("=======================================================================")
            Console.WriteLine("                     ReduitFenetre.exe")
            Console.WriteLine("=======================================================================")
            Console.WriteLine("Decription : Réduit dans la barre de tache")
            Console.WriteLine("             les fenetres passées en argument.")
            Console.WriteLine("")
            Console.WriteLine("Syntaxe : ReduitFenetre.exe arg1 [arg2 .... argx] ")
            Console.WriteLine("   arg1 à argx : titre (ou partie du titre) des fenetres a reduire.")
            Console.WriteLine("")
            Console.WriteLine("Exemple : ReduitFenetre.exe ""cmd.exe""")
            Console.WriteLine("  --> Reduction de toutes les fenetres dant le titre contient cmd.exe")
            Console.WriteLine("")

        End If

        TestSiHelp = blnDemandeHelp
    End Function

End Module



 Sources de la même categorie

Source .NET (Dotnet) MODIFICATION DATE DE WINDOWS EN VB.NET ET VBA par us_30
Source avec Zip Source avec une capture Source .NET (Dotnet) ENVOI DE MAIL AVEC PIÈCE JOINTE par EhJoe
Source .NET (Dotnet) AMUSONS NOUS AVEC UN LABEL ^^ par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) UN NAVIGATEUR INTERNET EN VB.NET par azrti
Source avec Zip Source .NET (Dotnet) CONVERSION DE DEVISE MONAITAIRE VIA UN SERVICE WEB par bigmonkey7

 Sources en rapport avec celle ci

FERMER UNE FENÊTRE SELON MOT CLÉ DANS SON TITRE par CerberusPau
Source avec Zip Source avec une capture Source .NET (Dotnet) TRANSFERER UN DATAROW D'UN FENETRE À UNE AUTRE par ManuAntibes
Source avec Zip Source avec une capture REDIMENSIONNER IMAGE + COMPRESSION JPG + TAILLE MAXI + LISTE... par KaFarD
Source avec Zip SENDKEYSEX => SIMULER UNE TOUCHE DANS UNE FENETRE PRÉCISE par Renfield
Source avec Zip Source avec une capture Source .NET (Dotnet) RACCOURCIS MS-OFFICE 2007 par Blodox

Commentaires et avis

Commentaire de mortalino le 13/06/2008 18:53:21

Salut,

bien que tu l'aies précisé dans la catégorie de ta source, tu as dû oublier de cocher quelque part 'Source .Net" en déposant ta source. Essaie de voir si tu peux mettre à jour ;)

Bonne continuation

Commentaire de PCPT le 13/06/2008 19:28:34 administrateur CS

salut,
"Microsoft.VisualBasic.Left"
umm, vraiment pas top en VB2008 çà... substring?

"Dim hWnd As Integer"
les handles ne doivent pas être en IntPtr?

"TestSiHelp = blnDemandeHelp"
RETURN blnDemandeHelp


etc..., ton code est très "à la VB6"
bon courage ;)

Commentaire de Revelc le 21/06/2008 18:36:03

Oui c'est vrai qu'il y a de la nostalgie vb6 dans ton code. Mais merci quand même , c'était exactement ce que je cherché :)

A+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Reduire fenetre [ par Phonix4567 ] Bonjour, &nbsp;apres avoir chercher dans le forum, et n'avoir trouv&#233; aucune r&#233;ponse, ainsi que d'avoir test&#233; diff&#233;rent truc sur v cacher, reduire fermer [ par narco4 ] Bjr,voila, je voudrais savoir si c'est possible en vbs de reduire la fenetre dos dans la barre des tache?je m'explique j'ai un petit batch qui appele OUVRIR UNE FENETRE DOS A PARTIR D'UNE MACRO EXCEL [ par bfiguig ] bonjour,voila, y - a - t - il un moyen pour pouvoir ouvrir une fenetre dos à partir d'une macro excel et executer un script ensuite recuperer le resul Barre pour deplacé la fenetre qui remplace celle de windows [ par ultimeval ] rebonsoir ! Voila j'ai un nouveau soucis c'est que j'ai fait ma propre image de fond et j'ai inclu la barre en haut ^^niveau design baa j'aime bien et compatiblitie vista [ par aurel16 ] bonjour, J'ai developpé une application compatible avec vista. Elle s'éxécute très bien, mais je dois obligatoirement la lancer en mode administrateur sendmesage Postmessage [ par POURMONET ] Bonjour,ça coince. Je dois être un peu neuneu, mais ce bout de code ne fonctionne pas.j'ai une application qui tourne, elle s'appelle "Identification" fenetre flottante [ par bubule636 ] bonjour a tous,Quelqu'un saurait il comment faire pour ajouter une fenetre flottante qui s'en vas automatiquement lorsque l'on clique sur une autre zo Problème avec FlashWindow [ par Systech_Systems ] Bonjour, Je dévellope un bureau sécurisé, qui sert à bloquer certaines fenêtre afin qu'elle ne puisse être vu par d'autre utilisateur que le concerné. fenetre se ferme seule [ par mohamed222222 ] Bonjour,Dans mon application que je suis entrain de développer quand je clique sur un bouton qui fait un traitement la fenetre se ferme . Je ne compre fenetre sans fermeture ni agrandire ni miniature [ par miche19000 ] Bonjour , je voudrais cree une fenetre en vb2005 mais qui ne pocede pas de icon d'agrandisement, ni de ferneture ni minimisation le cas  d'agrandiseme


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales