Ignorer le Focus [Résolu]

Messages postés
35
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
13 février 2008
- - Dernière réponse : cs_Chatbour
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
- 3 août 2007 à 16:33
Bonjour à tous !

J'aimerais savoir comment faire en sorte pour que mon programme VB6 ne prenne pas le Focus lorsqu'il se lance.

Merci
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
16
3
Merci
Salut,
J'ai une solution avec les API :

Private Declare Function SetActiveWindow Lib "user32.dll" (ByVal hwnd As Long) As Long

Private Sub Form_Activate()
    SetActiveWindow 0

End Sub

Cordialement..

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 223 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Chatbour
Messages postés
35
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
13 février 2008
0
Merci
Excellent !

Merci beaucoup, ça marche du tonnerre.

J'avais trouvé une bidouille qui me permettait de trouver le "Handle" de la dernière application active (qui est donc la dernière à avoir le Focus) avec l'API "GetForegroundWindow", puis de lui redonner le Focus une fois mon programme lancé. Mais c'est vraiment du rafistolage et ce n'était pas non plus parfait.

Enfin, ta solution est bien plus courte et nettement plus directe.

Merci encore.
Commenter la réponse de cresus18
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
16
0
Merci
De rien,

Mais en retestant j'ai fait face à une chose bizarre : lorsque je compile et exécute ça marche bien.

Mais lorsque je crée puis lance l'exécutable (menu Fichier->Créer Projet1.exe) ça ne marche pas vraiment

Bon, pourvu que ça soit pas pareil pour vous..
Commenter la réponse de cs_Chatbour
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
16
0
Merci
Apparemment ça vient de la valeur 0 passée à SetActivateWindow(), cette valeur veut dire "la fenêtre d'où on à lancé l'exécutable..
Commenter la réponse de cs_Chatbour
Messages postés
35
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
13 février 2008
0
Merci
Merci pour ce complément d'informations.
Ca semble marcher sans problèmes pour le moment.
Pourvu que ça dure :-)
Commenter la réponse de cresus18
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
"Mais en retestant j'ai fait face à une chose bizarre : lorsque je compile et exécute ça marche bien.

Mais lorsque je crée puis lance l'exécutable (menu Fichier->Créer Projet1.exe) ça ne marche pas vraiment"

Fichier->Créer Projet1.exe : c'est CA la compilation...
l'autre, c'est le mode 'debug'
Commenter la réponse de Renfield
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
16
0
Merci
Merci pour l'information Renfield
..
Commenter la réponse de cs_Chatbour