[Résolu] Full screen mode Direct X - window on top.

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Arbrakan
Messages : 34
Inscription : lun. 24/janv./2011 10:52
Localisation : Genève
Contact :

[Résolu] Full screen mode Direct X - window on top.

Message par Arbrakan »

Bonjour à tous !

Juste une petite question par rapport à la manière de procéder (si cela est possible) pour afficher une fenêtre (3d ou pas) par dessus un fenêtre direct X pleins écran.

En gros ce que je veux réussir a faire c'est afficher des informations a l'ecrant alors que je suis en fullscreen sous direct X.

Un peux comment fait Fraps (affichage de FPS a l'ecran, en jeu.)


Il me semble que utilisé le GUI de window en mode pleins ecran est impossible et que tout passe par Direct X ?

Le seul début de réponse que j'ai trouve sur un forum C++ anglais :
The only way to draw on top is to intercept the DirectX API calls and insert your own. I suspect this is is what Xfire, Pix and Fraps all do to draw on top of the screen
Je pense qu'il y a moyens d’interagir avec l'API de Direct X avec PureBasic ?

Après comment dégoupiller tout ça, et est ce que c'est la bonne méthode ?

merci.

Arbrakan
Dernière modification par Arbrakan le ven. 22/févr./2013 15:57, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Full screen mode Direct X - window on top.

Message par Backup »

et une simple fenetre avec l'attribut Sticky devrai marcher ...

lance ce code 10 secondes AVANTavoir lancé ton prg en plein Ecran ...

la fenetre devrai apparaitre 10 secondes apres son lancement tu peux changer le Temps de démarrage
en mettant Delay(60000) , la fenetre apparaitra 1 inute apres le lancement de ce prg

Code : Tout sélectionner

Enumeration
	#win
EndEnumeration

Delay(10000)


If OpenWindow(#win, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
	
	ResizeWindow(#win, #PB_Ignore, #PB_Ignore, 320, 200) ; Resize the window to 320,200
	StickyWindow(#win, 1) 
	;
	; This is the 'event loop'. All the user actions are processed here.
	; It's very easy to understand: when an action occurs, the Event
	; isn't 0 and we just have to see what have happened...
	;
	
	Repeat
		Event = WaitWindowEvent()
		
		If Event = #PB_Event_CloseWindow  ; If the user has pressed on the close button
			Quit = 1
		EndIf
		
	Until Quit = 1
	
EndIf

; EPB
Avatar de l’utilisateur
Arbrakan
Messages : 34
Inscription : lun. 24/janv./2011 10:52
Localisation : Genève
Contact :

Re: Full screen mode Direct X - window on top.

Message par Arbrakan »

Merci pour la réponse rapide !

Malheureusement avec mon autre programme en pleine écran, la fenêtre ne s'affiche pas. Par contre en mode fenêtrée, elle passe devant correctement. Je pense que c'est dû a DirectX qui coupe les accès du GUI de Window. Après, j'ai pas plus de connaissances que ça sur le sujet.

En pensant a la chose, et parmi mes différents recherche sur Internet, je pense qu'il faudrait réussir a passé dans le back-buffer pour afficher la fenêtre, ou informations, directement a Direct X ? J'espère qu'il existe une autre méthode par contre... Et je sais même pas si c'est réellement possible.

Mais merci pour le bout de code, je vais le tourné dans tout les sens voir si j'arrive pas a me rapprocher de ce que j'ai besoin.

Sinon, au pire des cas.. est-t-il possible d’accéder a l'API de Direct X via PureBASIC ?

merci.

Arbrakan
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Full screen mode Direct X - window on top.

Message par Backup »

apparemment DarkDragon du Forum anglais a fait un truc dans le Genre

voir ici :
http://www.purebasic.fr/english/viewtopic.php?t=20906
Avatar de l’utilisateur
Arbrakan
Messages : 34
Inscription : lun. 24/janv./2011 10:52
Localisation : Genève
Contact :

Re: Full screen mode Direct X - window on top.

Message par Arbrakan »

Hook... C'est clair que si je connais pas les termes... Impec!, merci pour ton aide rapide ! Je vais voir tout ça .

Merci !

Arbrakan
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: [Résolu] Full screen mode Direct X - window on top.

Message par graph100 »

Par contre, méfie toi, certain programme, comme les jeux bien fait détectent ces hooks, et les classes comme des tentatives de fraude... C'est surtout vrai pour les jeux en ligne :D
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
Arbrakan
Messages : 34
Inscription : lun. 24/janv./2011 10:52
Localisation : Genève
Contact :

Re: [Résolu] Full screen mode Direct X - window on top.

Message par Arbrakan »

Par contre, méfie toi, certain programme, comme les jeux bien fait détectent ces hooks, et les classes comme des tentatives de fraude... C'est surtout vrai pour les jeux en ligne :D
Ah bah, merci du conseil, c'est noté. J'y avais pas pensé.

Mais c’était pas le but. :)

Arbrakan
Répondre