Full screen changeable ?

diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008 - 24 juil. 2006 à 21:33
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008 - 25 juil. 2006 à 02:25
bonsoir,
desoler je ne savais pas ou poster ceci mais bon ^^
en gros voici mon probleme :
les jeux recents comme ancien sont souvent disponnible que en pleine ecran (donc full screen) mais pas en mode fennetre donc la fennetre full screen devient en premier plan exemple les ptite alerte msn passe pas devant , les barre pour gagner de l'argent passe pas devant , enfin sa reste toujours devant quoi  ...
donc j'aurais aimez savoir comment faire pour pouvoir dire telles fennetres qui est en full screen devienne une fennetre avec border etc (donc plus au premier plan)
voila ses tt con ^^
je pense qui faut que je chope le handle de la fennetre et change sa proprietee mais bon je n'ai que des indice rien de concret donc je me demande et je questionne :p

bien a vous
Diablaman

10 réponses

diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
24 juil. 2006 à 21:33
a ouais j'oubliais de preciser suis sous windows xp pro ^^
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juil. 2006 à 21:40
ouai, handle et API SetParent

++

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
24 juil. 2006 à 21:48
tu pourrais un peu plus m'eclairer sur ca et comment utiliser cette api stp ?
(je precise je suis en vb6 ^^)
j'ai juste trouver ca sur cette api :

SetParent() modifie la fenêtre parent de la fenêtre spécifiée.
----------
La méthode API SetParent ne marche qu ' avec les Objet INTERNE à VB

moi ma fennetre de jeu n'est pas dans le prog vb =( en gros depuis vb je dois dire telle fennetre devient une fennetre en mode border et non en mode full screen qui est EXTERNE a vb et non INTERNE de plus j'ai rien trouver sur cette api sauf quelques bribes mais en .net pas en vb6 :s

donc si tu pouvais un peux plus m'eclairez ^^
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juil. 2006 à 22:07
tu as dû mal lire la doc....

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Long, ByVal lpWindowName As Long) As Long 
Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long 
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long 
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long 
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long 
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long 

Const GW_HWNDNEXT =  2 
Dim mWnd As Long 
Function InstanceToWnd(ByVal target_pid As Long) As Long 
    Dim test_hwnd As Long, test_pid As Long, test_thread_id As Long 
    'Find the first window
    test_hwnd = FindWindow(ByVal 0&, ByVal 0&) 
    Do While test_hwnd <> 0 
        'Check if the window isn't a child
        If GetParent(test_hwnd) = 0 Then 
            'Get the window's thread
            test_thread_id = GetWindowThreadProcessId(test_hwnd, test_pid) 
            If test_pid = target_pid Then 
                InstanceToWnd = test_hwnd 
                Exit Do 
            End If 
        End If 
        'retrieve the next window
        test_hwnd = GetWindow(test_hwnd, GW_HWNDNEXT) 
    Loop 
End Function 
Private Sub Form_Load() 
    'KPD-Team 1999
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    Dim Pid As Long 

    'Execute notepad.Exe
    Pid =  Shell ("c:\windows\notepad.exe", vbNormalFocus) 
    If Pid  = 0 Then MsgBox "Error starting the app" 
    'retrieve the handle of the window
    mWnd =  InstanceToWnd(Pid) 
    'Set the notepad's parent
    SetParent mWnd, Me.hwnd 

End Sub 
Private Sub Form_Unload(Cancel As Integer) 
    'Unload notepad
    DestroyWindow mWnd
End Sub

<small> Coloration
syntaxique automatique [AFCK] </small>
       

<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
24 juil. 2006 à 22:11
euh ouais tu peux me dire comment utiliser ce module (pense que ses un module :-/ ) stp car j'utilise jamais ce genre de code :s

merci d'avance
Diablaman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juil. 2006 à 22:18
c'est une form. pour te montrer ici on attache notepad (donc appli extérieure)

toi tu as juste à récupérer le handle de ton jeu et faire :
SetParent HANDLE_DU_JEU, Me.hwnd

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
24 juil. 2006 à 22:24
donc si je capte bien sa "encapsule" la fennetre de mon jeu dans ma form comme si c'etais une fennetre "fille" et a elle s'adapte a ma frm et de ce je joue avec avec ma fennetre comme je veux ? (donc apres suffit que je fasse aggrandir avec le maxbouton ma form) et sa enleve le full screen de mon jeu , stock cette fennetre dans ma form et ma form vu qu'elle est pas splash ni full suffit de l'aggrandir et ses nikel ?
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
24 juil. 2006 à 22:24
a oui j'oubliais :s comment recuperer le handle de ma fennetre de jeu :$
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 juil. 2006 à 00:07
Je ne suis pas certain de bien comprendre...

Mais en VB, pour faire apparaître une Form par-dessus une autre (et qu'elle y reste...), on peut utiliser cette API


Déclaration dans un module

Declare Function SetWindowPos Lib "user32" _

    (ByVal hwnd As Long, _

     ByVal hWndInsertAfter As Long, _

     ByVal X As Long, ByVal Y As Long, _

     ByVal cx As Long, ByVal cy As Long, _

     ByVal wFlags As Long) As Long


À l'ouverture d'une Form qu'on veut mettre en avant-plan

Private Sub Form_Load()

    SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, &H1 Or &H2 Or &H40

End Sub

en espérant que ça puisse servir...

MPi
0
diablamanshadow Messages postés 419 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 28 janvier 2008
25 juil. 2006 à 02:25
sorry mpi mais en faite je ne veux pas mettre une frm en premier plan je veux au contraire qu'un prog externe on lui enleve son full screen et son splash screen :-/
en gros je veux faire un prog qui liste les handle (listbox ou koi) tu choisi ton handle et tu coche une option et le handle selectionner bah on lui vire son splash et son full ses tt ^^
0
Rejoignez-nous