Ca faisait un bout de temps que je cherchais à faire ça.
J'avais vu des sources en vb.Net, mais pas en VB6.
Et je suis tombé par hasard sur un code sur le site www.activevb.de, en allemand.
J'ai traduit les quelques commentaires et j'en ai ajouté.
J'ai ajouté une option qui permet de tenir compte de toutes les formes présentes sur le bureau, ou bien uniquement les formes de l'application en cours.