Ignorer le Focus [Résolu]

Signaler
Messages postés
35
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
13 février 2008
-
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
-
Bonjour à tous !

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

Merci

7 réponses

Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
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..
Messages postés
35
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
13 février 2008

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.
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
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..
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
Apparemment ça vient de la valeur 0 passée à SetActivateWindow(), cette valeur veut dire "la fenêtre d'où on à lancé l'exécutable..
Messages postés
35
Date d'inscription
dimanche 20 juillet 2003
Statut
Membre
Dernière intervention
13 février 2008

Merci pour ce complément d'informations.
Ca semble marcher sans problèmes pour le moment.
Pourvu que ça dure :-)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
64
"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'
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
Merci pour l'information Renfield
..