|
| Envoyer du texte à une appli windows depuis une appli windev |
| Débuté par Claude Mistral, 13 mar. 2024 13:23 - 13 réponses |
| |
| | | |
|
| |
Membre enregistré 8 messages |
|
| Posté le 13 mars 2024 - 13:23 |
Bonjour, Je cherche à envoyer du texte à une fenêtre non élaborée par windev depuis une appli windev, et j'ai utilisé ce code : [code:wl] ]EnvoieTouche("%{tab}")// pour basculer sur l'autre fenêtre windows VarAenvoyer est une chaîne="Auth" EnvoieTouche("{SOURIS,800,250}")//Déplacement souris pour positionnement dans fenêtre windows EnvoieTouche(NumériqueVersChaîne(VarAenvoyer) + RC)// pour envoyer :Auth et valider Multitâche(80) EnvoieTouche(NumériqueVersChaîne(VarAenvoyer+dateSys) + RC) [/code
Cela fonctionne parfaitement (après avoir jonglé avec le multitâche) mais j'ai plusieurs textes à envoyer et, avec cette méthode la transmission est très lente et j'ai beaucoup de données qui vont être transférées. Alors je cherche une autre méthode pour transfèrer ces données à une vitesse plus rapide que 1seconde/2 caractères. J'avais pensé à quelque chose du style : R est stRECT API("USER32","GetWindowRect",xHandle_Fen, &R) Mais je ne sais pas quelle instruction d'API windows utiliser (ou en windev sans passer par une API)
Pourriez-vous m'aiguiller sur ce sujet ? Merci
Claude |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 046 messages |
|
| Posté le 13 mars 2024 - 15:06 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
| Posté le 13 mars 2024 - 15:45 |
Ah super, je vais potasser tout cela . Merci Cédric_34 ça à l'air bien détaillé, mais je n'en demande pas tant, car il suffit d'un programme qui envoie du texte à la fenêtre qui a le focus (cela peut être notepad ou un champ de saisie à remplir du genre adresse mail voire mot de passe) je n'ai pas besoin que ce programme prenne le contrôle , (avec 'alt et tab' le focus se prend) mais juste envoyer du texte au focus.
Mais par contre , tous les exemples que vous m'avez cités vont me rendre service pour pouvoir aller plus loin, plus tard avec mon appli. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 046 messages |
|
| Posté le 13 mars 2024 - 16:21 |
| Avez-vous essayé par le presse-papier ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
| Posté le 13 mars 2024 - 16:49 |
Ah ça s'en est une idée , parfois les choses simples passent inaperçues , en attendant de développer cette idée si quelqu'un(e) me parlait de quelque chose à faire avec une API windows dans le détail, je serais ravi. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 046 messages |
|
| Posté le 13 mars 2024 - 17:28 |
Je ne sais pas ce que ça donne mais il y a SendMessage ou PostMessage. Cdlt |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
| Posté le 13 mars 2024 - 18:42 |
Oui j'avais cherché Sendmessage et Postmessage dans les forums, mais en vain (rien ne s'approchait de l'utilisation avec une fenêtre windows. Mais un grand Merci pour votre aide Cédric_34  |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 046 messages |
|
| Posté le 13 mars 2024 - 23:20 |
Pour en finir avec ce sujet (car je n'ai plus beaucoup de solutions à proposer), il y a une LST qui a traité du sujet SendMessage/PostMessage : LST n°126 : WD MessageWindows Si vous avez accès aux LST, il serait peut être intéressant d'y jeter un œil mais d'après ce que j'ai pu lire, si la solution du presse-papier vous convient, il semblerait qu'elle soit de loin la plus facile à mettre en œuvre (bien que probablement moins robuste) car SendMessage/PostMessage soulève un problème de manifeste entre les application (si l'appli destinatrice fait l'objet d'une sécurité renforcée).
Voici un lien concernant le sujet : https://www.ytreza.org/fr/blog/windev-partager-des-evenements-entre-application
et une possibilité supplémentaire : fMemOuvre (Fonction) https://doc.pcsoft.fr/?1000018917
Cdlt |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
| Posté le 14 mars 2024 - 08:31 |
Bonjour Cédric_34, Encore merci pour avoir levé tous ces sujets, qui apportent de l'eau à mon moulin. Pour ce qui est des LST, j'ai une centaine de Cd et clé USB , mais je n'ai pas continué après la LST 120, donc je ne vais pas pouvoir tester, mais par contre il me tarde de tester la nouvelle version avec Postmessage et/ou SendMessage car cela à l'air bien intéressant , ainsi que fMemOuvre. Je n'ai pas l'utilité d'une sécurité renforcée car c'est pour utiliser sur des documents qui ne le nécessite pas.
Je vous dirais où en sont mes investigations, dès que j'aurais testé cela. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 215 messages |
|
| Posté le 14 mars 2024 - 12:30 |
Bonjour J'ai fait le test chez moi avec ce code qui fonctionne: Copie ce bout de code pour test.
Texte est une chaîne="« Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit."... +"Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna."... +"Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. »" Res est un entier Res = VersPressePapier(Texte) EnvoieTouche("%{tab}") EnvoieTouche("{SOURIS,800,250}") EnvoieTouche("^{v}") EnvoieTouche("^{v}") Multitâche(300)
Bon DEV |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 215 messages |
|
| Posté le 14 mars 2024 - 12:37 |
| Tu règles le multitâche à ta convenance. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
| Posté le 14 mars 2024 - 17:36 |
Voilà le test vient d'être terminé avec le code fourni et le résultat est super
Texte est une chaîne="« Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit."... +"Ut velit mauris, egestas sed, gravida nec, ornare ut, mi. Aenean ut orci vel massa suscipit pulvinar. Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. Pellentesque rhoncus nunc et augue. Integer id felis. Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi vel erat non mauris convallis vehicula. Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam. Mauris ullamcorper felis vitae erat. Proin feugiat, augue non elementum posuere, metus purus iaculis lectus, et tristique ligula justo vitae magna."... +"Aliquam convallis sollicitudin purus. Praesent aliquam, enim at fermentum mollis, ligula massa adipiscing nisl, ac euismod nibh nisl eu lectus. Fusce vulputate sem at sapien. Vivamus leo. Aliquam euismod libero eu enim. Nulla nec felis sed leo placerat imperdiet. Aenean suscipit nulla in justo. Suspendisse cursus rutrum augue. Nulla tincidunt tincidunt mi. Curabitur iaculis, lorem vel rhoncus faucibus, felis magna fermentum augue, et ultricies lacus lorem varius purus. Curabitur eu amet. »" Res est un entier Res = VersPressePapier(Texte) EnvoieTouche("%{tab}") Multitâche(50) EnvoieTouche("{SOURIS,800,250}") Multitâche(50) EnvoieTouche("^{v}") Multitâche(80) EnvoieTouche("^{v}") Merci Thierry, je vais m'en inspirer pour arriver à manipuler le texte pris en exemple, car je dois jongler avec plusieurs textes de la sorte pour valider l'un ou l(es)'autre(s) par le biais d'une ou plusieurs touches au choix. C'est la raison pour laquelle avec une API windows on peut changer plusieurs paramètres, chose qui n'est pas possible ici; mais c'est parfait pour la demande que j'avais faite.
Par contre une API windows répondra trait pour trait à mon besoin final
Bon Dev également |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 215 messages |
|
| Posté le 15 mars 2024 - 14:32 |
Bonjour, C'est la raison pour laquelle avec une API windows on peut changer plusieurs paramètres, chose qui n'est pas possible ici. Quoi par exemple, que tu veux changer par api.
Bon DEV |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 8 messages |
|
| Posté le 20 mars 2024 - 15:20 |
Bonjour Thierry, Désolé pour le retard, mais après maintes recherches, je ne retrouve pas l'article qui en parlait (de cette fonctionnalité qui traitait des diverses possibilités et éventualités avec une API windows).
Mais c'était fort intéressant pourtant !
si je retrouve ce document, je viendrais en parler ici,(ou si quelqu'un m'indique une API qui peut faire cela) en tous cas j'ai bien avancé avec les infos que tout le monde m'a enseigné
Bon Dev |
| |
| |
| | | |
|
| | | | |
| | |
|