Passer au premier plan sans quitter le plein écran o_O

Equilibrius Messages postés 95 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 23 août 2010 - 23 juil. 2008 à 12:15
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 23 juil. 2008 à 21:47
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 11" />
<meta name="Originator" content="Microsoft Word 11" />
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CDMI45%7E1.DOM%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:536871559 0 0 0 415 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tableau Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->

Bonjour,
voilà, après pas mal de recherche un peu partout sur une petite dizaine de
site/forum, je n'ai pas trouvé ce que je cherchais, encore faut-il savoir ce que
l'on cherche (c'est plutôt sa mon problème en fait xD ), je vous explique :


J'aimerai réaliser un programme quelconque (en premier lieux) qui pourrais
s'afficher au premier plan devant une autre application qui elle est en plein
écran, un peu beaucoup comme XFire le fait avec ces fenêtre que l'on peu
consulter en plein jeux sans revenir sur le bureau (gain de temps plus ou moins
important selon les PC et selon les jeux...).


Pour l'événement qui "lancerai" la programme, ou du moins le ferai
apparaitre devant mon application en plein écran, j'ai plusieurs solution, la
plus simple d'après moi, serai de faire un programme qui ne permet pas le
"multi-instance" que j'exécuterai via un des boutons de ma sourie. (Ou
via un raccourcie clavier, mais j'ai crue comprend que les "hook"
était pas très facile a réaliser.)


Donc si vous avez déjà rencontré des sources de ce type, je suis preneur ! :p


Merci d'avoir accordé un peu de votre temps a mon post :)
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->






 









Ps : La finalité du programme est juste de pouvoir visualiser une fenêtre d’informations
variables IG.

4 réponses

cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
23 juil. 2008 à 13:37
Bonjour,

Pour forcer une fenêtre à rester au premier plan j'utilise la fonction API SetWindowPos() avec HWND_TOPMOST en deuxième paramètre dans le traitement du message WM_CREATE (ou WM_INITDIALOG).

Forcer au premier plan (hWnd = handle de la fenêtre) :
SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
Annuler :
SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
 

Jean-François
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
23 juil. 2008 à 17:19
Yop,

SetForegroundWindow() ne ferais pas l'affaire ? Voir MSDN pour plus d'explication.

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]
0
Equilibrius Messages postés 95 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 23 août 2010
23 juil. 2008 à 21:41
Merci pour vos réponces, mais est-ce que je pourai utiliser ces fonction avec QT

et désolé, je connais pas encore aussi bien l'MSDN que phpinfo.net, au sujet de l'aide sur MSDN, peut-on l'avoir en français ? sa ne me dérange pas trop, mais bon on sais jamais :p

et sinon, pour démarer, je ne sais pas trop où partir, coté api win32, QT, MFC :/
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
23 juil. 2008 à 21:47
Certaine partie de la MSDN peuvent être disponible en français, mais pas l'entièreté. Pour ce qui est de faire ça en QT je dirais oui, car tout est possible par n'importe quelle voie. Mais n'ayant jms devellopé avec QT ... . Pour la programmation windows , of course je préconise Win32 , maintenant tu fais ce que tu veux :))

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]
0
Rejoignez-nous