API Process Selectiooner Tout

riri2938 Messages postés 3 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 30 novembre 2011 - 19 nov. 2011 à 08:31
riri2938 Messages postés 3 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 30 novembre 2011 - 30 nov. 2011 à 10:56
Bonjour,je fais tourner une appli à partir de Word qui récupére un fichier volumineux en PDF (lpus de 12 000 pages) , l'ouvre, puis execute l'action Selectiooner tout (utilisation de'une API souris pour diriger celle-ci), et ensuite, une fois l'action "selectioner tout" terminée (cela peut prendre jusqu'à 7 minutes) l'action copier est lancée (la aussi cela peut prendre jusqu'à 7 minuteset au delà ...). Une fois ces deux actions terminées, je ferme PDF et colle le tou dan sword et enfin je peux démarrer mon traitement.
Ce que je souhiate c'est pouvoir coordonner le lancement des 2 acyions pilotées de word mais executées sur PDF.
En fait un processus qui permette de detecter quand l'action "Selectionner Tout" est échue, pour démarrer enfin l'action "Copier" et idem quand celle-ci est échue, pouvoir lancer 'action "Quitter" afin de revenir sous word et coller le résultat de mes actions précédentes.
J'ai fais le tour des API windowsmais je dois dire que je n'ai rien trouvé jusqu'alors de concluant. Je dois également admettre que j'ai quelques lacubes dès lors que l'on évoque le sujet des "Thread" ou autres "processus.
Merci de votre aide

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 212
19 nov. 2011 à 10:08
Bonjour,

si j'ai bien compris, tu ouvres/affiches ton fichier .pdf avec un lecteur de pdf, puis utilises ses propres outils d'édition/sélection/copie
Je ne vois dans ces conditions pas comment tu pourrais "contrôler l'exécution" de tâches exécutées depuis le logiciel de lecture, par un code que tu ne gères en aucune manière.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
riri2938 Messages postés 3 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 30 novembre 2011
19 nov. 2011 à 10:19
et bien j'imaginais que l'on pouvait le faire, par exemple, en controlant l'état de la souris car lors de l'action "Selectionner Tout" sa forme change (sablier) et dès que l'action est fini, elle reprend l'apparence nominal (fleche), ou alors encore en checkant le thread ou processus associé à l'action "selectionner tout" etc ...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 212
19 nov. 2011 à 10:30
La forme du curseur reste dépendante du logiciel de lecture. Cette forme n'est pas imposée à tout le système. Je vois donc mal comment tu pourrais la "relever" alors qu'elle dépend d'un thread que tu ne gères pas (et je ne vois pas comment tu pourrais le gérer) !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 212
19 nov. 2011 à 10:44
Ce que tu pourrais peut-être tenter (mais uniquement en ce qui concerne l'étape "copie"):
1) vider le presse-papier ===>> objet clipboard sous VB6 puisque tu as ouvert dans la section VB6
2) insérer un contrôle timer (que tu as puisque puisque tu as ouvert dans la section VB6)
et l'utiliser à la fréquence de ton choix pour vérifier que l'objet clipboard contient quelque-chose après avoir lancé la copie de ta sélection

C'est du bricolage non justifié (comme toutes les autres tentatives, d'ailleurs).

tu ne peux selon moi non plus espérer un résultat à l'aide de la fonction WaitForSingleObject de la librairie kernel32 de l'Api de Windows puisque tu ne peux "gérer" ce qui a été lancé par ton logiciel de lecture de .pdf.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
19 nov. 2011 à 13:47
Salut,

Un post daté de 2005 à déjà abordé le sujet...

http://www.vbfrance.com/forum/sujet-LIRE-PDF-VB6-AVEC-SANS-ADOBE-ACROBAT-READER_611330.aspx


CF2i - Guadeloupe
Ingénierie Informatique
0
riri2938 Messages postés 3 Date d'inscription dimanche 28 octobre 2007 Statut Membre Dernière intervention 30 novembre 2011
30 nov. 2011 à 10:56
Bonjour, je vous remercie pour ces réponses. J'ai finalement trouvé la solution en utilisant la fonction Copier fichier dans le presse papier qui présente l'avantge de conserver la main jusqu'à ce que le fichier soit complétement copier et donc de me permettre de maitriser cette tâche. en plus cela m'économise quelques lignes de code et également du temps de traitement puisque il n'y a aucune procédure d'attente à mettre en place, la procédure étant immédiatement reprise dés que l'action de copie est terminée.
0
Rejoignez-nous