A voir également:
- Cliquer sur un programme sans le ramener au premier plan
- Programme au démarrage windows 10 - Guide
- Arrière plan - Guide
- Ramener une note sur 20 ✓ - Forum Bureautique
- Programme bonjour ✓ - Forum Windows
4 réponses
Salut à toi !
Alors, cela me semble assez difficile mais que dirait du de créer un script qui ramenera au premier plan, les programmes qui l'étaient avant que tu ne clique sur ton programme musical ?
Je m'explique :
- Firefox est au premier plan (ton script l'identifie et le garde en mémoire)
- Tu cliques sur ton programme (ton script identifie le clic, et ramène au permier plan Firefox)
- Firefox revient au premier plan, même si tu as cliqué sur ton programme !
A ton service ;)
Yota
Alors, cela me semble assez difficile mais que dirait du de créer un script qui ramenera au premier plan, les programmes qui l'étaient avant que tu ne clique sur ton programme musical ?
Je m'explique :
- Firefox est au premier plan (ton script l'identifie et le garde en mémoire)
- Tu cliques sur ton programme (ton script identifie le clic, et ramène au permier plan Firefox)
- Firefox revient au premier plan, même si tu as cliqué sur ton programme !
A ton service ;)
Yota
Merci Yota, de ta réponse !
Ouah... L'algorithme que tu proposes est extrêmement interessant et prometteur, je te remercie beaucoup !
Seulement, je ne vois pas trop comment coder un truc pareil... Surtout en c !
Je crois qu'il faudrait utiliser Windows.h et hwnd pour identifier le clic sur mon programme et ramener au premier plan les autres programmes (dans ton exemple, Firefox), mais alors pour identifier les programmes déjà au premier plan (à la base).... Je ne sais pas faire ^^
Peut-être quelqu'un aurait-il une idée à ce niveau là ? (pour info : je peux coder aussi en batch et en auto-it)
Ouah... L'algorithme que tu proposes est extrêmement interessant et prometteur, je te remercie beaucoup !
Seulement, je ne vois pas trop comment coder un truc pareil... Surtout en c !
Je crois qu'il faudrait utiliser Windows.h et hwnd pour identifier le clic sur mon programme et ramener au premier plan les autres programmes (dans ton exemple, Firefox), mais alors pour identifier les programmes déjà au premier plan (à la base).... Je ne sais pas faire ^^
Peut-être quelqu'un aurait-il une idée à ce niveau là ? (pour info : je peux coder aussi en batch et en auto-it)
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié par [Dal] le 22/04/2015 à 09:48
Modifié par [Dal] le 22/04/2015 à 09:48
Salut programmourdefou,
Le plus simple dans ton cas est de ne pas le programmer et d'utiliser les fonctionnalités de Windows.
Je n'ai pas de Windows 8 sous la main, mais en général sous Windows, tu peux procéder de la façon suivante :
- tu crées un raccourci sur ton exécutable (clic droit sur l'exécutable - créer un raccourci)
- tu clique droit sur le raccourci et affiche les propriétés
- dans les propriétés du raccourci (onglet raccourci) tu as une ligne "Exécuter" avec plusieurs choix possibles
- tu choisis : "Réduite" au lieu de "Fenêtre normale" et tu valides les changements
- tu lances ton application au moyen du raccourci, laquelle devrait se lancer sous forme réduite.
Si l'application SDL crée une véritable application Windows, elle devrait comporter un WinMain qui gère le 4ème paramètre descriptif de l'état de la fenêtre au lancement du programme.
Autrement, tu devrais pouvoir le faire avec l'API de Windows à partir de ton programme C, en utilisant ShowWindow en obtenant au préalable un handle sur ta fenêtre avec GetActiveWindow (non testé). Les prototypes de ces fonctions sont accessibles dans Winuser.h, qui est inclu dans Windows.h (il suffit donc en principe d'inclure ce dernier).
Dal
Le plus simple dans ton cas est de ne pas le programmer et d'utiliser les fonctionnalités de Windows.
Je n'ai pas de Windows 8 sous la main, mais en général sous Windows, tu peux procéder de la façon suivante :
- tu crées un raccourci sur ton exécutable (clic droit sur l'exécutable - créer un raccourci)
- tu clique droit sur le raccourci et affiche les propriétés
- dans les propriétés du raccourci (onglet raccourci) tu as une ligne "Exécuter" avec plusieurs choix possibles
- tu choisis : "Réduite" au lieu de "Fenêtre normale" et tu valides les changements
- tu lances ton application au moyen du raccourci, laquelle devrait se lancer sous forme réduite.
Si l'application SDL crée une véritable application Windows, elle devrait comporter un WinMain qui gère le 4ème paramètre descriptif de l'état de la fenêtre au lancement du programme.
Autrement, tu devrais pouvoir le faire avec l'API de Windows à partir de ton programme C, en utilisant ShowWindow en obtenant au préalable un handle sur ta fenêtre avec GetActiveWindow (non testé). Les prototypes de ces fonctions sont accessibles dans Winuser.h, qui est inclu dans Windows.h (il suffit donc en principe d'inclure ce dernier).
Dal
Merci beaucoup pour ta réponse :)
J'ai essayé et ca marche ! Seulement, dès que je clique sur mon programme, il revient au premier plan...
Je voudrais que même en cliquant dessus, il reste "derrière".
Désolé de vous embêter mais c'est vraiment important ^^ (dernière modification avant que mon programme devienne totalement fonctionnel :D )
Merci beaucoup !
J'ai essayé et ca marche ! Seulement, dès que je clique sur mon programme, il revient au premier plan...
Je voudrais que même en cliquant dessus, il reste "derrière".
Désolé de vous embêter mais c'est vraiment important ^^ (dernière modification avant que mon programme devienne totalement fonctionnel :D )
Merci beaucoup !
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
25 avril 2015 à 12:21
25 avril 2015 à 12:21
Salut,
Passer par script pour gérer ce comportement ? oO.
Pourquoi ne pas utiliser plutôt les API Windows. Ca sera plus efficace et plus propre.
Par exemple pour afficher ton programme en arrière plan lors de l'exécution, tu peux utiliser SetWindowPos().
Cdlt,
Passer par script pour gérer ce comportement ? oO.
Pourquoi ne pas utiliser plutôt les API Windows. Ca sera plus efficace et plus propre.
Par exemple pour afficher ton programme en arrière plan lors de l'exécution, tu peux utiliser SetWindowPos().
SetWindowPos(hwnd, HWND_BOTTOM,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
Cdlt,
Utiliser l'API Windows semble être en effet beaucoup plus simple ! Merci :)
Ton code marche ! C'est magnifique !!!!
Cependant, j'aurai besoin qu'il se renouvelle à chaque fois que l'utilisateur clique sur le programme... Des idées par rapport à ca ?
Merci encore ! C'est vraiment super super gentil de votre part à tous !
Ton code marche ! C'est magnifique !!!!
Cependant, j'aurai besoin qu'il se renouvelle à chaque fois que l'utilisateur clique sur le programme... Des idées par rapport à ca ?
Merci encore ! C'est vraiment super super gentil de votre part à tous !