Réduire une fenêtre aec l'API Windows ?

Vienyc Messages postés 47 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 28 juin 2007 - 12 déc. 2006 à 11:35
Vienyc Messages postés 47 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 28 juin 2007 - 12 déc. 2006 à 18:06
Bonjour,


Après quelques recherche pas très fructueuse (et devant le nombre de
fonctions de l'API Windows...) je cherche à réduire une fenêtre
exterieur à mon programme grâce à l'API Windows, je m'explique.


En VB6, j'ai une barre en haut de mon écran, je voudrais que, exemple,
si je lance IE, il se réduise pour être en dessous de ma barre (ma
barre est déjà en premier plan, le problème c'est qu'elle est trop
lage, donc cache la barre d'url de IE) donc en fait, réduire la fenêtre
E juste en dessous mon form.


Merci.

56 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 déc. 2006 à 17:00
Mais ces fenêtre ce sont des fenêtre actives ou non?

Sinon essaye de mettre un HandleFenetre = 0 avant HandleFenetre = GetActiveWindow

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 déc. 2006 à 17:17
Salut,
Je rejoint [auteurdetail.aspx?ID=648299 Vienyc]
Cela ne fonctionne pas si l'exe est généré.
En revanche cela fonctionne en mode "développement" uniquement si la fenetre qui passe devant est l'IDE VB du projet

En Exe GetActiveWindow ne te retourne que des 0
@+: Ju£i?n
Pensez: Réponse acceptée
0
Vienyc Messages postés 47 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 28 juin 2007
12 déc. 2006 à 17:20
Ca ne change pas, et oui je pense qu'elles sont considéré comme fenêtre active car il detecte quand même si le handle est différent... Mais toi, en créant un .exe de ton application, en la lançant et en lançant une fenêtre IE au dessus, il la réduit bien ?
0
Vienyc Messages postés 47 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 28 juin 2007
12 déc. 2006 à 17:24
Oui, tu as raison jrivet, en mode .exe il ne retourne que des 0, je n'avais pas fait le test
0

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

Posez votre question
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 déc. 2006 à 17:30
Essaye de passer par GetFocus mais bon, je me demande pourquoi les API ne fonctionnent pas après compilation, en tout cas celle-ci! Mais je pense que GetFocus fera la même chose. Ca coute rien d'essayer!



'Déclaration des API


Private Declare Sub 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)

Private Declare Function GetFocus Lib "user32" Alias "GetFocus" () As Long

Private Sub Timer1_Timer()

'récupère le handle de la fenêtre active
Dim HandleFenetre As Long
HandleFenetre = GetFocus

'Si la fenêtre active est différente de celle de ton appli
If HandleFenetre <> Me.Hwnd Then

'redimensionne et replace cette fenêtre mais reste devant ton appli
SetWindowPos HandleFenetre , HWND_TOPMOST, 0, 200, 9500, 1200, SWP_HIDEWINDOW

End If

End Sub





 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 déc. 2006 à 17:31
Mais si une fois compilé ça ne marche plus! Je ne vois pas d'où cela peut venir, c'est comme même bizzard!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 déc. 2006 à 17:36
Salut,

Un petit tour la bas peu peu etre t'aider: ICI

@+: Ju£i?n
Pensez: Réponse acceptée
0
Vienyc Messages postés 47 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 28 juin 2007
12 déc. 2006 à 17:38
Pareil avec le GetFocus, il ne réduit as les autres fenêtres
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 déc. 2006 à 17:40
Alors ça marcherai uniquement pour les fenêtre de ton appli! Mais seulement quand tu fais l'exe vu que en mode développement ça marche?

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 déc. 2006 à 17:42
Oui je m'en doutai bien que GetFocus ne marcherai pas non plus! Mais bon qui ne tente rien n'a rien! Essaye de voir le lien de jrivet , ça peut peut-être t'apporter une solution!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
Vienyc Messages postés 47 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 28 juin 2007
12 déc. 2006 à 17:52
En mode developpement ça ne marche que pour l'appli aussi (en gros VB)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 déc. 2006 à 17:52
En fait d'apres ce que je comprend c'est que cela ne macrhe que pour les fenetre du meme thread. (donc de la meme appli) (j'espere simplement ne pas dire de grosse âneries...)

@+: Ju£i?n
Pensez: Réponse acceptée
0
Vienyc Messages postés 47 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 28 juin 2007
12 déc. 2006 à 17:55
J'arrive aps à faire marcher avec les indications su lien de jrivet :x
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 déc. 2006 à 17:56
non non jrivet, on a compris la même chose!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 déc. 2006 à 17:57
Oui ben désolé Vienyc , mois en tout cas je verrai ça demain, si besoin il y a, car la je vais partir du boulot! @+

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
Vienyc Messages postés 47 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 28 juin 2007
12 déc. 2006 à 18:06
D'accord, en tout cas merci beaucoup pour ton aide Drikce06, vraiment sympathique ^^
0
Rejoignez-nous