Accueil > Forum > > > > Fenêtre en premier plan sans focus
Fenêtre en premier plan sans focus
jeudi 10 juin 2010 à 11:13:35 |
Fenêtre en premier plan sans focus

thenaoh
|
Bonjour,
Je cherche depuis plusieurs jours à afficher une application de mon cru (une appli AIR) en premier plan, mais sans qu'elle prenne le focus aux autres fenêtres windows. J'ai déjà essayé le code suivant :
HWND hFenetre = FindWindow("ApolloRuntimeContentWindow", NULL);
ShowWindow(hFenetre, SW_SHOWNOACTIVATE);
SetWindowPos(hFenetre, HWND_TOPMOST, 10, 10, 500, 500, SWP_NOACTIVATE);
Il me met bien ma fenêtre en premier plan sans lui attribuer le focus à l'exécution de ce code. Mais ce que je souhaiterais, c'est que même quand je clique sur la fenêtre de mon application, qu'ell ne prenne jamais le focus.
Le but de cette manip est de pouvoir réaliser un clavier virtuel et, ayant déjà le code pour envoyer les caractères tapés dans le buffer clavier, il serait donc intéressant que la fenêtre cible (Bloc-notes Windows, barre d'adresse IE, etc ...) garde le focus pendant que je tape sur mon clavier virtuel.
Merci par avance pour votre aide !
|
|
jeudi 10 juin 2010 à 11:35:16 |
Re : Fenêtre en premier plan sans focus

buno
|
Hello,
même quand je clique sur la fenêtre de mon application, qu'ell ne prenne jamais le focus
Je ne pense pas que ce soit possible. En effet, si tu cliques sur une fenêtre, c'est que tu veux interagir avec elle, donc que tu veux qu'elle prenne le focus.
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
jeudi 10 juin 2010 à 12:30:04 |
Re : Fenêtre en premier plan sans focus

thenaoh
|
Bonjour,
Eh bien c'est bien ce que je me disais, mais en voyant ça : http://wpfkb.codeplex.com/ , où il y a un clavier virtuel en premier plan qui ne prenne pas le focus aux autres fenêtre, du coup, je me demande comment c'est possible ...
Si quelqu'un a une idée ...
|
|
jeudi 10 juin 2010 à 13:26:08 |
Re : Fenêtre en premier plan sans focus
|
jeudi 10 juin 2010 à 20:05:22 |
Re : Fenêtre en premier plan sans focus

racpp
|
Réponse acceptée !
Salut,
Depuis Windows 2000, c'est possible en mettant le style étendu WS_EX_NOACTIVATE.
Pour créer la fenêtre principale de ton application tu peux faire:
Code C/C++ : hFenetre=CreateWindowEx(WS_EX_NOACTIVATE | WS_EX_TOPMOST,...
Ne pas oublier de mettre
Code C/C++ : #define _WIN32_WINNT 0x0500
juste avant Code C/C++ :
Si tu veuwx changer le style édendu même quand la fenêtre est déjà créée, utilise SetwindowLong() ou SetWindowLongPtr().
|
|
jeudi 10 juin 2010 à 20:11:20 |
Re : Fenêtre en premier plan sans focus

racpp
|
Le #define _WIN32_WINNT 0x0500 n'est utile que si le compilateur n'arrive pas à reconnaitre WS_EX_NOACTIVATE. C'est le cas dans mon Visual C/C++ 2005.
|
|
jeudi 10 juin 2010 à 20:21:17 |
Re : Fenêtre en premier plan sans focus

thenaoh
|
Salut,
Merci beaucoup racpp !
J'aurais cependant quelques petites questions (de débutant  ) :
- peux-tu me donner un exemple complet pour l'utlisation de CreateWindowEx() ? J'avais déjà essayé mais sans succès pour le moment.
- peut-on faire cette manip (fenêtre qui ne prend jamais le focus) avec une fenêtre déjà créée ? En l'occurrence dans mon cas une application développée en AIR.
Merci !!!
|
|
jeudi 10 juin 2010 à 20:47:25 |
Re : Fenêtre en premier plan sans focus

racpp
|
Réponse acceptée !
Essaie avec ça:
Code C/C++ : HWND hFenetre = FindWindow("ApolloRuntimeContentWindow", NULL);
UINT styleex=GetWindowLong(hFenetre,GWL_EXSTYLE);
SetWindowLong(hFenetre,GWL_EXSTYLE,styleex | WS_EX_NOACTIVATE);
SetWindowPos(hFenetre,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
|
|
jeudi 10 juin 2010 à 20:58:34 |
Re : Fenêtre en premier plan sans focus

thenaoh
|
Erratum : c'est bon, j'ai trouvé la réponse à ma première question tout seul comme un grand  .
Par contre, la seconde question m'intéresse toujours, à savoir : peut-on faire cette manip (fenêtre qui ne prend jamais le focus) avec une fenêtre déjà créée ? En l'occurrence dans mon cas une application développée en AIR.
Merci !
|
|
jeudi 10 juin 2010 à 20:59:18 |
Re : Fenêtre en premier plan sans focus

thenaoh
|
Oups désolé, j'avais pas vu le post précédent !
|
|
Cette discussion est classée dans : plan, code, focus, fenêtre, premier
Répondre à ce message
Sujets en rapport avec ce message
[win32] Premier plan sans focus [ par Isoth0p ]
Bonjour, je voudrais savoir comment faudrait-il faire pour placer au premier plan une application SANS qu'elle prenne le focus. Existe-t-il une foncti
Mettre une fenêtre en premier plan [ par jipp ]
Hey, encore un novice en MFC.Je souhaitrai connaitre le code qui permette de mettre en premier plan une fenêtre.Concrétement, j'ai un SDI avec des boi
Focus Editbox [ par NeoUmbrella ]
Bonjour, j'aimerais etre averti lorsqu'un editbox a le focuspour ceci je procede comme ceci :case WM_NOTIFY:if(((LPNMHDR)lParam)->code == EN_SETFOCUS)
Focus sur fenêtre fille en MDI [ par minet03 ]
Coucou J'ai fais une MDI à la va vite parce que le "tuto" Made In MSDN n'est pas terrible. J'ai créé une fenêtre principale. Puis j'ai créer une fenêt
Faire passer la fenêtre principale au 1er plan [ par jipp ]
Bonjour à tous,Cela fait plusieurs jours que je galère pour faire passer ma fenêtre principale au premier plan (par dessus une boite de dialogue non m
consolde dos premier plan [ par DJtef ]
Bonjour je voudrais savoir s'il est possible de mettre la consolde dos sous windows toujours au premier plan, même si on clique à côté, qu'elle prenne
WS_POPUP et focus [ par vecchio56 ]
C'est un problème assez compliqué a expliquer... J'ai remarqué que les menus (obtenus par exemple avec TrackPopupMenu) sont des fenêtre popup (avec le
API, fenêtre fille (focus) [ par La Guite ]
Bonjour à tous,En C++, API windows.Voila, je développe un programme de traitement d'images (comme paint shop pro). Sauf que pour l'instant, le prog me
Recuperer titre de la fenetre en premier plan [ par XKaliBur ]
Voila en résumer ce que je veut fair : récupérer la liste des titre des fenetre qui passent en premier plan, pour ça je récupère le handle de la fenet
fenêtre basculant en arrière-plan [ par by_rabbit_08 ]
Bien le bonjourj'ai une simple question:J'ai une boite de dialogue qui appelle un Thread et qui lui passe en paramètre son handle (de la boite de dial
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|