|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 24 ![]() |
Bonjour à tous,
Après pas mal de recherches sur le forum, je n'ai pas trouvé ce qui me conviendrait dans mon cas... Je m'explique : J'ai une application Access qui est lancé automatiquement au démarrage du PC car c'est pour une utilisation sans clavier, ni souris, juste pour saisir des code-barres avec une douchette. Le problème, c'est que sur plusieurs PC, lors du démarrage, certaines applications doivent se charger après l'application Access et du coup celle-ci ne reste pas toujours au premier plan. Ce que je souhaiterais, c'est une sorte de boucle pour que tous les x temps la fenêtre access se mette au premier plan avec le focus. Merci pour votre aide...... |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() |
Bonjour,
Sur l'événement Timer de ton formulaire (toutes des 5000 ms par ex), il faut user des API SetForeGroundWindow() ou bien SetWindowPos() ou encore BringWindowToTop()... couplée à SetFocus()... Pour ce qui est de SetWindowPos, elle fige la fenêtre devant et toutes les autres resteront à l'arrière plan. P.S. Le HWnd sera celui de l'application et non celui du Form. Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 24 ![]() |
Bonjour,
Merci pour la réponse... J'ai essayé différentes de vos propositions, mais n'étant pas très à l'aise avec Access, je n'arrive pas à avoir l'effet escompté. Voici ce que j'ai fais : Déclaration dans un module de : Code :
Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long Code :
Au début, j'ai eu quelques erreurs de syntaxes, fonctions ou autres... et là plus rien, mais cela ne fait rien du tout ! Une idée du problème ? |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() ![]() |
comment as-tu alimenté ton hwnd ?
Le code a écrire pour le Handle de la fenêtre (Hwnd) est : Code :
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
||
|
|
00
|
|
|
#5 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
J'avais vu un jour qu'une application qui n'est pas au premier, ne peut se mettre au premier plan que sous certaines conditions. cf SetForegroundWindow C'est aussi ce qu'écrit un membre de DVP dans cette discussion. Sauf qu'il est plus fort que moi, et a trouvé une solution. Je l'ai traduite en VBA et voila ce que ça donne, dans le module de code d'un formulaire, dont on utilise le timer. Code :
A+ |
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
salut brufis, argyronet et LedZeppII
juste une suggestion, il est possible éventuellement à défaut de mettre en premier plan l'appli de rendre invisible ou mettre les autres en arrière plan avec entre autre un SetWindowPos... cela éviterait peut être le timer. |
|
|
00
|
|
|
#7 | |||
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 24 ![]() |
Citation:
Merci beaucoup. |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com