Bonjour à tous,
J'essaye mais sans succès d'adapter le code de la Faq afin de réactiver une appli (PhotoFiltre) lancée avec shell comme ceci:
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part nAppPid = Shell(sAppName & " """ & Me.txtChemin & """", 1)
Du code de la Faq j'adapte la commande (passage du PID en parametre)ainsi que le module subShowAnyApplication :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub test_Click() subShowAnyApplication "PhotoFiltre", "C:\Program Files\PhotoFiltre\PhotoFiltre.exe", False, nAppPid End SubJ'ai supprimé la tempo et utilise le PID passé en paramètre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Public Sub subShowAnyApplication(ByVal ApplicationName As String, _ ByVal ApplicationPath As String, ByVal IsVisible As Boolean, ByVal lngAppPID As Long) ''' ****************************** ''' Lance l'instance de l'application et la réaffiche si nécessaire ''' ****************************** Dim lngWindowHandle As Long DoEvents lngWindowHandle = fnctGetWindowHandle(lngAppPID) If fnctBringWindowsToTop(lngWindowHandle) Then Else MsgBox "L'instance de la fenêtre de l'application " & ApplicationName & _ " à réafficher n'a pas été trouvé !", vbExclamation, "Fin" End If End Sub
Le Module basApiDeclaration est conservé tel quel.
Ce que je souhaite: j'ouvre une image dans PhotoFiltre à partir du formulaire pour y appliquer un traitement par séquence de touches puis par l'opérateur. Ensuite l'opérateur réactive la fenêtre du formulaire et un bouton "continuer" doit réactiver PhotoFiltre pour appliquer à nouveau une séquence de touche.
Le problème: PhotoFiltre s'affiche parfois sans que j'arrive à saisir si il y a une circonstance particulière.
Par contre, si, avant de lancer la commande d'activation je clique PhotoFiltre dans la barre des taches et reviens sur Access (bien obligé pour lancer ma commande...) ça fonctionne toujours.
Ces petits "détails" pour économiser quelques centaines de milliers de cliques dans les 6 mois à venir .
Merci de votre attention.
Partager