espadon2
Messages postés71Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention21 octobre 2008
-
10 sept. 2003 à 17:07
espadon2
Messages postés71Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention21 octobre 2008
-
14 sept. 2003 à 13:33
Bonjour à tous,
J' ai une appli vb qui execute une partie d'une autre appli commercial . Cette appli commercial execute un script pour incorporer dans sa base des fichiers (XML) généré par mon programme. De plus mon prog recupere egalment certains des fichiers (xml) de l' appli commercial.
il y environ 4 echanges de fichiers qui doit de faire automatiquement la nuit.
Mais lorsque le script de l' appli commercial à incorporé mon premier fichiers , elle envoie un message (fenêtre) indiquant que l'incorporation a bien eu lieu " Traitement terminé " + buton "OK" . Du coup tout s 'arrete, mon prog est en attente , car pour debloquer le tout il faudrait que quelq'un clique sur le bouton "ok " de la fenêre.
Voila donc ; comment fermer cette fenêtre en auto, quand le traitement est terminé ou bien 30 min apres le lancement du script d'incorporation
Merci a tous ceux qui pourront m'aider car là , j' ai tous essayé ...
RicoNuch
Messages postés140Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention16 décembre 2006 10 sept. 2003 à 17:18
Hello !
Tu pourrais utiliser l'instruction SendKeys pour simuler une pression sur la touche Enter (si "Ok" est le bouton par défaut) ou la combinaison de touches appropriées.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 10 sept. 2003 à 17:21
Une solution vb me semble difficile mais sait-on jamais.
Si rien en vue ET que ton prog tourne sur du W2k ou superieur, tu peux me contacter par un message sur le site.
BruNews, ciao...
RicoNuch
Messages postés140Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention16 décembre 2006 10 sept. 2003 à 18:13
Hello !
Notre ami Espadon précise qu'il "a déjà tout essayé". Je n'allais donc pas lui en balancer une tartine pour me voir répondre que ça ne marche pas pour telle ou telle raison. Mon message était donc plutôt destiné à ouvrir le dialogue avec une suggestion (comme le montre l'emploi du conditionnel).
Tu remarqueras aussi que je n'avais pas indiqué la syntaxe de l'instruction. C'était justement pour pouvoir lui fournir les mises en garde en même que le mode d'emploi s'il me l'avait demandé.
espadon2
Messages postés71Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention21 octobre 2008 13 sept. 2003 à 16:37
J' ai peut etre trouvé un truc grace a vos conseils.
J' ai trouvé un autre petit prog "tueur de fenetre" . Ce prog se lance avant toutes opérations , attends que la fenetre "traitement terminé' apparait et la ferme . je la detecte grace a son nom , toujours identique.
vous en pensez quoi (c'est un peu bourrin je sais) ,et puis merci à tous
---------------------------------------------------------
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE = &H10
Private Sub Form_Load()
Dim hWnd As Long
continue:
hWnd = FindWindow(vbNullString, "Traitement")
If hWnd <> 0 Then
Call PostMessage(hWnd, WM_CLOSE, 0, 0)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 13 sept. 2003 à 21:23
De retour sur une boucle, faudrait au moins ajouter un DoEvents sur le 'Else'. Au cas ou la fenetre "Traitement" ne serait pas trouvee, boucle infinie.
Tu vois si tu peux t'arranger avec cela, sinon tu me contactes et je te ferai une vraie dll pour un hook systeme qui tue la fenetre a sa naissance.
BruNews, ciao...