DELPHI Comment faire un fullscreen d'une application externe (handle)? - Delphi/Pascal - Programmation
Marsh Posté le 22-05-2002 à 21:41:54
Handle d'application ... je crois plutot que tu veux parler d'un handle sur la fenetre de cette application.
Eh bien ... savoir si cette application utilise directX / OGL pourrait être utile (quoique ...)
Mais ce qui est à peut près certain c'est que ton jeux va rester en 640*480. Donc voici une petite suggestion, ca vaut ce que ca vaut :
tu bouges la fenetre en 0,0
tu bascules la résolution de Windows en 640*480
tu met en topmost, vire la barre des taches.
Tu vois le truc
Parce que ne reve pas : bidouiller la fenetre pour la rendre maximisable et la maximiser ne changera rien : t'aura juste un carre de 640*480 en haut à gauche ...
Pour virer la barre des titres, regarde du cote de SetWindowLong avec GWL_STYLE (change le style en WS_POPUP par exemple ...)
Marsh Posté le 23-05-2002 à 01:26:58
HelloWorld a écrit a écrit : Handle d'application ... je crois plutot que tu veux parler d'un handle sur la fenetre de cette application. Eh bien ... savoir si cette application utilise directX / OGL pourrait être utile (quoique ...) Mais ce qui est à peut près certain c'est que ton jeux va rester en 640*480. Donc voici une petite suggestion, ca vaut ce que ca vaut : tu bouges la fenetre en 0,0 tu bascules la résolution de Windows en 640*480 tu met en topmost, vire la barre des taches. Tu vois le truc Parce que ne reve pas : bidouiller la fenetre pour la rendre maximisable et la maximiser ne changera rien : t'aura juste un carre de 640*480 en haut à gauche ... Pour virer la barre des titres, regarde du cote de SetWindowLong avec GWL_STYLE (change le style en WS_POPUP par exemple ...) |
Je veux juste que lecran s'adapte au jeu
Direct X pour te repondre a ta question
Sinon le truc du [0;0], jai fait ca, mais, il reste la barre de titre et les bords..
je vais essayer ta commande:
SetWindowLong(handle,GWL_STYLE,WS_POPUP);
Et je confirme si ca marche.
Marsh Posté le 23-05-2002 à 01:33:09
LONG SetWindowLong(
HWND hWnd, // handle of window
int nIndex, // offset of value to set
LONG dwNewLong // new value
);
C peut etre moi, mais ca marche pas :'(
Faut t'il declarer quelque chose ?
Marsh Posté le 23-05-2002 à 02:22:05
var cx,cy:integer;
begin
SetWindowLong(handle, GWL_STYLE ,WS_VISIBLE or WS_POPUP or WS_TABSTOP); //or WS_HSCROLL) ;:
cx := GetSystemMetrics(SM_CXSCREEN);
cy := GetSystemMetrics(SM_CYSCREEN);
SetWindowPos(handle,HWND_TOP,0,0,cx,cy,SWP_SHOWWIN
DOW);
application.ProcessMessages
Ca marche mieu maintenant
Il reste plus qu'a bloquer le ATL TAB et Cacher la barre de windows du bas et c fini (je vais chercher...)
Marsh Posté le 23-05-2002 à 14:48:34
Slide a écrit a écrit : var cx,cy:integer; Il reste plus qu'a bloquer le ATL TAB et Cacher la barre de windows du bas et c fini (je vais chercher...) |
ShowWindow(FindWindow('Shell_TrayWnd',
nil),SW_RESTORE);
//et
ShowWindow(FindWindow('Shell_TrayWnd',
nil),SW_HIDE);
Pour effacer la barre de tache et la faire revenir
Dite, quelqu'un serai pour ALT TAB ?
Marsh Posté le 23-05-2002 à 15:09:39
Slide a écrit a écrit : Pour effacer la barre de tache et la faire revenir Dite, quelqu'un serai pour ALT TAB ? |
Google Power
Dummy := 0;//integer
{this line will disable ALT-TAB}
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);
{this line will disable CTRL-ALT-DEL}
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);
Pour reactiver :
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 0, @Dummy, 0);
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @Dummy, 0);
Marsh Posté le 22-05-2002 à 20:07:09
Comment faire un full screen d'une application externe à l'aide de son handle (que j'ai déja [le handle]) ?
Sachant que sa dimension et de 640*480 et que c'est une jeu.
Et que je ne veux pas voire sa barre de titre ni ses bords à l'ecran.
sendmessage(handle, ?, ?, ?);? ou autre chose ? help