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 :

Création d'une Barre de Tâches Personnalisée


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Par défaut Création d'une Barre de Tâches Personnalisée
    Bonjour à tous et à toutes ,

    je viens quêter aides et informations dans votre confrérie afin de pouvoir, si possible de votre part, me dépêtrer du souci qui se pose à moi. Ma demande ne sera pas compliquée à comprendre, par contre, il se peut que la réaliser est une tout autre paire de manches.


    Le contexte :

    ~ Je travaille pour une entreprise sur une application qui interdit tout accès à Windows; à l'explorer en d'autre termes, à certains raccourcis claviers et à certaines applications pouvant être gênantes, comme le gestionnaire des tâches par exemple. J'ai donc arrêté l'explorer.exe de Windows au démarrage de mon application. Le soucis est que j'ai besoin, tout comme l'explorer de Windows nous l'offre, d'une Barre des Tâches. Cette dernière afficherait les différentes autres applications en cours d'exécution lorsque celles-ci sont réduites, en appuyant sur le bouton permettant de minimiser la fenêtre (bouton [-]).


    Ce que je recherche :

    ~ Sauriez-vous comment créer une barre des tâches personnalisée ? Même si celle-ci n'a rien d'esthétique, ce n'est pas grave.


    Au cas où ma clarté sur le sujet n'est pas de mise, n'hésitez surtout pas à me le signaler en me posant les questions qui vous démangent. Je remercie toutes les aides qui pourront être apportées.

    Cordialement,

    BaBelZ

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    si les programmes tiers sont ouverts à partir de ton appli ca doit etre relativement simple

    il faut les démarrer avec un process.start
    donc tu peux garder une référence vers le processus
    au démarrage ajouter un element dans ta barre des taches
    tester toutes les secondes si hasexited faut true si c'est le cas tu fais disparaitre le bouton dans ta barre des taches
    ensuite reste à trouver comment maximiser la fenetre principale d'un processus, pour ca un appel d'api doit aller
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Par défaut
    Ah merci beaucoup, je comprends bien l'idée et je vois parfaitement comment réaliser le tout. Merci aussi de cette rapide réponse .

    Par contre, à présent, se pose à moi un autre souci en me référant à ton idée. J'utilise, pour des raisons pratiques, des raccourcis pour lancer les différentes autres applications via mon application. Donc, dans cette situation, je n'ai aucun contrôle via l'objet "process" sur les applications que je lance :/, puisque ce n'est pas un lien direct sur le .exe.

    Une idée ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    une idée :

    tu fais un hook clavier pour que ta barre de tache soit au courant qu'une nouvelle application est lancée.

    Après, tu peux regarer l'ensemble des processus qui tourne et comparer pour voir le nouveau processus lancé et de ce faite, ajouter son icone dans la barre de tache

    Celà dit, si tu n'as pas l'explorer, tu n'auras pas de barre de tache, il te faut donc développer une application "barre" de tache qui ré-implémente le comportement de la barre de tache telle qu'elle est actuellement

    Ca ne me semble pas impossible, bien sur.. mais bon, c'est pas "trivial" non plus comme développement... me semble t-il

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    une idée :

    il te faut donc développer une application "barre" de tache qui ré-implémente le comportement de la barre de tache telle qu'elle est actuellement
    Bonjour TheMonz et merci de ta participation ,

    Il me faut t'avouer que je n'ai pas bien saisi l'utilité du hook clavier dans ce contexte. Par contre, comme je l'ai dit dans mon premier post, la citation que je viens de te prendre est depuis le début mon souci principal ^^. Je ne sais pas du tout comment m'y prendre :/.

    Imaginons que je trouve le moyen de comparer les applications envoyées par l'utilisateur à celles envoyées par le system. Je prends le nom de l'application, puis je l'ajoute en tant que bouton par exemple dans un panel. Bon disons aussi que j'ai trouvé le moyen de faire disparaître ce ou ces boutons lorsque le ou les applications sont arrêtées. Maintenant, la fonction de cette barre des tâches qui m'importe réellement est la suivante : "pouvoir maximiser où tout simplement ré-afficher l'application lancée en cliquant sur l'un de ces boutons".

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    Une des fonctions de l'API Win32 SetwindowPos() doit te permettre de faire celà... Dans la mesure ou tu auras le Handle de la fenetre à maximiser ou diminuer ou tuer, ca devrait se faire facilement.

    Sinon, tu peux aussi toutes les xx secondes regarder la liste des process et voir (je ne sais pas si celà marche) ceux qui dispose d'une fenetre (MainWindowHandle). Si c'est le cas, il y a des chances que ce process soit éligible à l'affichage (si tu regardes la liste des taches et la liste des processes, tu vois rapidement qu'il y a bcp plus de process que de taches (application) réellement en cours

    Ca pourrait être une piste !!!

    Après, si tu as le handle de la fenetre à maximiser, tu peux aussi envisager un SendMessage(WM_MAXIMIZED) par exemple

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

Discussions similaires

  1. Création d'une barre de progression personnalisée
    Par strawberrry dans le forum Conception
    Réponses: 4
    Dernier message: 09/07/2014, 14h12
  2. Creer une barre des tâches personnalisée
    Par Attila54 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 20/09/2010, 15h45
  3. [PHP-JS] Création d'une barre de navigation
    Par Justin_C dans le forum Langage
    Réponses: 16
    Dernier message: 02/01/2007, 17h32
  4. [c# 1.1 VS 2003] Créer une barre de têches
    Par notalp dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/10/2006, 10h20

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