Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| a l'aide (Résolu) | |
| | Auteur | Message |
---|
pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: a l'aide (Résolu) Dim 1 Mai 2016 - 9:58 | |
| bjr a vous tous Y a t'il un moyen d'attacher un program comme notepad à une fenêtre de panoramic avec ce source cela ne fonctionne pas - Code:
-
dim res%,hnd_enfant%,hndparent%, titre$
dll_on "KGF.dll" execute "notepad"
titre$ = string$(255," ")
res% = dll_call1("GetActiveWindowTitle",adr(titre$))
titre$ = trim$(titre$)
merci pour vos réponses b w-end hnd_enfant% = handle_form(titre$)
hndparent% = handle(0)
res% = DLL_call2("AttachWindowToWindow",hnd_enfant%,hndparent%)
Dernière édition par pascal10000 le Ven 6 Mai 2016 - 9:17, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: a l'aide (Résolu) Dim 1 Mai 2016 - 11:02 | |
| C'est simplement parce que tu essaies de prendre le handle de NotePad avant que ce dernier ait eu le temps de démarrer. Ceci marche: - Code:
-
dim res%,hnd_enfant%,hndparent%, titre$ dll_on "KGF.dll" execute "notepad" pause 1000 titre$ = string$(255," ") res% = dll_call1("GetActiveWindowTitle",adr(titre$)) titre$ = trim$(titre$) hnd_enfant% = handle_form(titre$) hndparent% = handle(0) res% = DLL_call2("AttachWindowToWindow",hnd_enfant%,hndparent%) end | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: a l'aide (Résolu) Dim 1 Mai 2016 - 11:05 | |
| merci klaus!! cordialement! | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Jeu 5 Mai 2016 - 16:42 | |
| Ce qui est intéressant, avec cette formule, c'est qu'on peut aussi rattacher write, qui permet de gérer des fichiers .rtf - Code:
-
dim res%,hnd_enfant%,hndparent%, titre$ dll_on "KGF.dll" execute "write.exe" pause 1000 titre$ = string$(255," ") res% = dll_call1("GetActiveWindowTitle",adr(titre$)) titre$ = trim$(titre$) hnd_enfant% = handle_form(titre$) hndparent% = handle(0) res% = DLL_call2("AttachWindowToWindow",hnd_enfant%,hndparent%) end Mais peut-on y rattacher un gestionnaire de fichiers .pdf qui serait natif de Windows comme Write ou Notepad ? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: a l'aide (Résolu) Jeu 5 Mai 2016 - 19:36 | |
| - Citation :
- Mais peut-on y rattacher un gestionnaire de
fichiers .pdf qui serait natif de Windows comme Write ou Notepad ? Tu peux rattacher n'importe quel process actif sous Windows. Natif Windows ou non. Notepad, évidemment, mais tous les autres aussi. Même "gestionnaire de pdf". Le tout est de connaître son handle. Et tu as plusieurs fonctions permettant de faire cela. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: a l'aide (Résolu) Jeu 5 Mai 2016 - 20:04 | |
| Salut tout le monde.
Si je me permets une remarque toute petite, … Le titre a l’aide n’est pas adéquat du tout. Je propose (je n’impose pas !) de choisir une formulation plus explicite comme Comment attacher un programme à une fenêtre Panoramic. C’est plus parlant et ça facilite la recherche ultérieurement. Et tant que j’y suis : Si la demande a eu une réponse positive, le demandeur de l’aide peut (lui seul) éditer le titre de sa demande pour ajouter Résolu
A bon entendeur, salut ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: a l'aide (Résolu) Jeu 5 Mai 2016 - 22:48 | |
| Bien d'accord avec toi, ce n'est pas très explicite... | |
| | | pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
| Sujet: Re: a l'aide (Résolu) Ven 6 Mai 2016 - 9:13 | |
| bjr a vous tous et merci
pour vos intervention et vos remarques
bon w end a ceux qui font le pont a+ | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Ven 6 Mai 2016 - 17:31 | |
| Je ne sais pas si c'est résolu, mais moi j'ai des questions. - Klaus a écrit:
- Et tu as plusieurs fonctions permettant de faire cela
Ah oui, j'aimerais bien savoir lesquelles. 2) Qu'est-ce qu'il y a comme gestionnaire de pdf natif dans Windows ? 3) Pourquoi dans le programme de Klaus, le write apparaît toujours avec un left d'environ 200 et un top d'environ 100, alors que c'est n'est pas commandé dans le programme, apparemment, et comment les mettre à 0 et 0 ? 4) Comment programmer les choses pour que un certain programme rtf apparaisse automatiquement dans le write appelé par panoramic, par exemple ? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: a l'aide (Résolu) Ven 6 Mai 2016 - 20:00 | |
| - Citation :
- Ah oui, j'aimerais bien savoir lesquelles.
GetProcessWindowHandle GetActiveWindow GetObjectUnderPosition GetWindowByTitle GetWindowProcessHandles ... - Citation :
- Qu'est-ce qu'il y a comme
gestionnaire de pdf natif dans Windows ? Adobe PDF Reader (Freeware) MS Word dans certains cas OpenOffice dans certains cas ... (Google est ton ami) - Citation :
- Pourquoi dans le programme de Klaus,
le write apparaît toujours avec un left d'environ 200 et un top d'environ 100, alors que c'est n'est pas commandé dans le programme, apparemment, et comment les mettre à 0 et 0 ? La capture d'un programme externe dans une form Windows se fait sans changer ses coordonnées et dimensions. Donc, son (top,left) initial reste, mais devient relatif à l'intérieur de la fenêtre de capture. - Citation :
- Comment programmer les choses pour que
un certain programme rtf apparaisse automatiquement dans le write appelé par panoramic, par exemple ? Appeler Write avec un paramètre contenant le nom du fichier, dans la commande EXECUTE. | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Sam 7 Mai 2016 - 17:46 | |
| Merci, merci pour tous ces renseignements, d'ailleurs, voici ce que ça donne pour Adobe Reader - Code:
-
dim res%,hnd_enfant%,hndparent%, titre$ dll_on "KGF.dll" execute "AcroRd32.exe" pause 1000 titre$ = string$(255," ") res% = dll_call1("GetActiveWindowTitle",adr(titre$)) titre$ = trim$(titre$) hnd_enfant% = handle_form(titre$) hndparent% = handle(0) res% = DLL_call2("AttachWindowToWindow",hnd_enfant%,hndparent%) end Par contre, pour ce qui est d'appeler write avec un nom de fichier rtf associé, ça ne marche pas, pas plus qu'un fichier pdf associé à Acrobat Reader ??? - Code:
-
dim res%,hnd_enfant%,hndparent%, titre$ , c$ c$=dir_current$ dll_on "KGF.dll" execute "write.exe "+chr$(34)+c$+"\Expression-1.rtl"+chr$(34) pause 1000 titre$ = string$(255," ") res% = dll_call1("GetActiveWindowTitle",adr(titre$)) titre$ = trim$(titre$) hnd_enfant% = handle_form(titre$) hndparent% = handle(0) res% = DLL_call2("AttachWindowToWindow",hnd_enfant%,hndparent%) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: a l'aide (Résolu) Sam 7 Mai 2016 - 21:48 | |
| Dans ton second code, il y a plusieurs anomalies. 1. C'est quoi, ce fichier 'Expression-1.rtl" ? Je pense que tu voulais dire "Expression-1.rtf"... 2. Ta construction de la commande DOS pour Write n'est pas bonne. Il y a un conflit avec la gestion des guillemets de Panoramic, qui fait que tes quillemets ne sont pas pris en compte par DOS, et Write ne trouve évidemment pas le fichier. Essaie comme ceci - Code:
-
dim res%,hnd_enfant%,hndparent%, titre$ , c$ c$=dir_current$ dll_on "KGF.dll" execute "write.exe Expression-1.rtf" pause 1000 titre$ = string$(255," ") res% = dll_call1("GetActiveWindowTitle",adr(titre$)) titre$ = trim$(titre$) hnd_enfant% = handle_form(titre$) hndparent% = handle(0) res% = DLL_call2("AttachWindowToWindow",hnd_enfant%,hndparent%) Et ça devrait marcher. Pour ton premier code, ça dépend de la version de AcroRd32.exe. Je pense qu'il faut que tu regardes la documentation pour trouver les options correctes pour le lancer en mode "ligne de commande". Sinon, il démarre "full screen" et tu ne pourras pas faire grand-chose. | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| | | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: a l'aide (Résolu) Dim 8 Mai 2016 - 15:00 | |
| Je viens de tester ce code et il marche, non, non il ne marche pas mais il FONCTIONNE parfaitement! NB : je n'ai pas sous la main un .rtf mais j'ai confectionné un .docx - Code:
-
dim res%,hnd_enfant%,hndparent%, titre$ , c$ c$=dir_current$ dll_on "KGF.dll" execute "write.exe c:\users\acer\desktop\jjn4.docx" pause 1000 titre$ = string$(255," ") res% = dll_call1("GetActiveWindowTitle",adr(titre$)) titre$ = trim$(titre$) hnd_enfant% = handle_form(titre$) hndparent% = handle(0) res% = DLL_call2("AttachWindowToWindow",hnd_enfant%,hndparent%)
| |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Dim 8 Mai 2016 - 16:25 | |
| Ah oui, effectivement, ça marche ??? C'est curieux, mais c'est heureux. Rien ne marchait, et maintenant tout marche. Les txt, rtf, pdf et docx... Par contre, l'Adobe, il y a intérêt à le fermer avant de fermer Panoramic, sinon l'Adobe reste coincé. Ca m'a l'air un peu branlant, plutôt irrégulier, tout ça, mais ça marche quand même, c'est formidable !!! Merci de votre aide à tous. | |
| | | Contenu sponsorisé
| Sujet: Re: a l'aide (Résolu) | |
| |
| | | | a l'aide (Résolu) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |