Appli en arrière plan

cs_desus4 Messages postés 13 Date d'inscription lundi 20 janvier 2003 Statut Membre Dernière intervention 9 janvier 2004 - 8 juil. 2003 à 11:57
sylric Messages postés 91 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 22 août 2003 - 8 juil. 2003 à 13:07
Salut à Tous,
Pas facile, je lance un Droplet de Photoshop via VB, (dans lequel je traite une séries d'image qui peuvent se trouver dans un répertoire.. enfin bref)
Je boucle tant que je n'ai pas fini de traiter toutes mes images.
Mon Problème est que je n'arrive pas à garder mon Appli en 1er Plan. J'ai pourtant essayé :

<< Shell RepDroplet & "DROPLET_PHOTO.exe " & Mid(Rep_Photoc_temp, 1, Len(Rep_Photoc_temp) - 1), vbMinimizedNoFocus >>

Tanks e lote
:-p

1 réponse

sylric Messages postés 91 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 22 août 2003
8 juil. 2003 à 13:07
Il y a une méthode radicale pour garder une fenêtre en premier plan, cela dit, il faut faire attention de prévoir les cas où il faut la faire revenir en arrière (msgbox, nouvelle fenêtre...).
Cette methode, c'est une api :
paramètre HWND_TOPMOST pour la faire venir en premier plan et HWND_NOTOPMOST pour la retirer.
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
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 Sub Form_Activate()
    SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub


Avec ça la fenêtre est prioritaire sur toutes les autres fenêtres, y compris celles des autres appli.
0
Rejoignez-nous