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 |
|
|
| Re tout le monde ; D | |
|
+6silverman Yannick Jicehel The Gamer Klaus jimx78 10 participants | |
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 17:35 | |
| Toi qui sais tout, papydall (violons...), et Nardo, et les autres, où peut-on avoir un aperçu de ces nombreuses fonctions (et surtout syntaxes) de user32.dll ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 18:10 | |
| - JL35 a écrit:
- Toi qui sais tout, papydall ….
Tu me fais trop d’honneur, là !!! Je sais tout ! Ben non. Une petite confidence : sur un autre Forum, je me suis inscrit sous le pseudo : Lom_Qui_Ne_C_Rien ! Je connais « qui connait tout et n’ignore rien », mais ce n’est pas moi. Pour répondre à ta question : mes sources proviennent de mon ami GOOGLE. Et comme je t’aime bien, voilà un tuyau Et en voici un autre | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 18:18 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 18:29 | |
| Un grand merci à tous les deux, papydall et Nardo, je savais bien que je ne m'adressais pas à des ingrats ! Là c'est presque l'heure de l'apéro alors je regarderai tout ça avec attention tout à l'heure. Vous comprenez bien que j'ai des obligations mondaines auxquelles je ne peux pas déroger.
J'avais bien cherche sur google, évidemment, mais rien trouvé de bien exploitable... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 18:40 | |
| Dis Nardo, tu veux parler de DLL Export Viewer ? Si c’est ça, c’est iciElle est belle la langue française avec ses sons ! | |
| | | The Gamer
Nombre de messages : 110 Age : 30 Localisation : Toulouse (31) Date d'inscription : 11/05/2010
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 18:41 | |
| Merci a vous pour cette amélioration considérable ! Je la reprends pour l'utiliser dans mon programme ! | |
| | | jimx78
Nombre de messages : 241 Age : 33 Localisation : Yvelines Date d'inscription : 24/05/2010
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 19:01 | |
| Ce jours est historique pour panoramic selon moi. Sela fait depuis des années que le problème été soulever. Je vais reprendre un peu panoramic, uniquement parce que je crois dans un potentiel du logiciel. un grand merci. On devrais crée un post sur le forum uniquement pour les tutoriels. | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 19:38 | |
| @papydal : non ce n'est pas ça... Je connaissais DLL export viewer mais c'est la doc sur le site Microsoft... ils ont changé certains liens que je ne retrouve plus... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 20:02 | |
| J'ai regardé vos liens, mais ce n'est quand même pas lumineux (pour moi). Je trouve bien les fonctions de user32.dll (entre autres), mais pas le moyen de les appeler directement depuis panoramic (si c'est possible, ce qui n'est sans doute pas toujours le cas). Par exemple papydall, tu donnes le positionnement curseur: ret% = dll_call2("SetCursorPos",x%,y%) c'est très bien et ça marche, mais je ne sais pas où tu as trouvé la syntaxe de l'appel. Et si je veux appeler la fonction "GetCursorPos", par exemple, comment dois-je rédiger l'appel à la fonction et où vais-je récupérer les paramètres rendus ? c'est valable pour touites les autres fonctions. Et toi Nardo qui es très fort également (un peu de pommade n'a jamais fait de mal à personne ) je suis sûr que tu as des tuyaux là-dessus puisque tu as fait mouse.dll (que j'utilise d'ailleurs, mais il y a peut-être un moyen d'accès plus direct à user32, ce qui résoudrait le problème du fichier joint à l'exécutable panoramic). | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 20:16 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 20:30 | |
| Merci Jean Claude, mais c'est un des liens donnés par papydall, il y a la liste mais ça n'apprend rien sur la syntaxe des appels. | |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 21:29 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 21:46 | |
| Merci Nardo, je me doute bien qu'il y a des cas difficiles, voire impossibles à mettre en oeuvre en panoramic, mais ce que je voulais c'est de la lecture, et tu me fournis les pistes. Je regarde tout ça, merci encore. Et je vois qu'il y a un sacré paquet de fonctions... J'avais vu le lien sur les fonctions chez microsoft, avec les paramètres de chaque fonction, le hic c'est la traduction de ces paramètres au format panoramic... ... euh, je répète ce que tu viens de dire... Tous les exemples sont donnés en C++, tout de même, ils auraient pu les mettre en panoramic, ça aurait été plus simple pour tout le monde... pour nous en tout cas | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 23:03 | |
| Il n'y a aucune impossibilité quand on connait les paramètres. Seulement pour les utiliser il peut être nécessaire d'avoir une DLL qui fasse la passerelle entre Panoramic et l'autre DLL existante. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Re tout le monde ; D Ven 24 Avr 2015 - 23:13 | |
| D'accord Jicehel, mais c'est justement ce que j'essaie de contourner ! mouse.dll de l'ami Nardo fait très bien l'affaire pour donner les coordonnées du curseur sur tout l'écran, et dans cette dll il fait appel à user32.dll.
Je cherchais à utiliser à cette fonction (par exemple) de user32 directement, sans passer par un intermédiaire qui n'est pas présent en natif sur le pc. papydall a montré que c'était possible pour par exemple positionner le curseur sur l'écran, ou le montrer et le cacher, directement depuis panoramic. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Re tout le monde ; D Sam 25 Avr 2015 - 0:50 | |
| J’ai collecté des bouts de codes que j’ai postés sur le Forum dans des endroits différents (souvent dans les Inutilitaires) Voici ce que ça donne - Code:
-
rem ============================================================================ rem papydall teste la user32.dll rem ============================================================================
Init() Animate_Windows() Clignoter() La_Souris_Se_Balade_Toute_Seule() Redim_Deplace_Form() dll_off Fermer_tout() end rem ============================================================================ SUB Init() full_space 0 dll_on "user32" END_SUB rem ============================================================================ ' Ouvrir et fermer les fenêtres de manière originale (AnimateWindow de user32) ' Selon les paramètres, la fonction AnimateWindow masque(H10000) ou affiche (H2000) ' la fenêtre avec des effets spéciaux (par le centre H10, de haut en bas H4, ' de gauche à droite H2, de bas en haut H8, de droit à gauche H1)
SUB Animate_Windows() dim_local ret%, hwnd%,temps% caption 0,"Ouverure originale d'une fenêtre" color 0,0,255,255 hwnd% = handle(0) : temps% = 500+500
ret% = dll_call3("AnimateWindow",hwnd%,temps%, bin_or(hex("10"),hex("10000"))) ret% = dll_call3("AnimateWindow",hwnd%,temps%, bin_or(hex("10"),hex("20000")))
ret% = dll_call3("AnimateWindow",hwnd%,temps%, bin_or(hex("4"),hex("10000"))) ret% = dll_call3("AnimateWindow",hwnd%,temps%, bin_or(hex("2"),hex("20000")))
ret% = dll_call3("AnimateWindow",hwnd%,temps%, bin_or(hex("8"),hex("10000"))) ret% = dll_call3("AnimateWindow",hwnd%,temps%, bin_or(hex("1"),hex("20000")))
ret% = dll_call3("AnimateWindow",hwnd%,temps%, bin_or(hex("10"),hex("10000"))) ret% = dll_call3("AnimateWindow",hwnd%,temps%, bin_or(hex("10"),hex("20000"))) END_SUB rem ============================================================================ ' Faire clignoter la barre de menu de la fenêtre SUB Clignoter() dim_local ret%, hwnd%,i%,oui% ' form 10 : top 10,150 : left 10,100 : caption 0,"Je clignote !" color 0,0,255,255 hwnd% = handle(0) oui% = 1 : ' = 0 --> ne pas clignoter , non 0 --> clignoter for i% = 1 to 50 ret% = dll_call2("FlashWindow",hwnd%,oui%) : pause 50 next i%
caption 0,"Je ne clignote plus !" END_SUB rem ============================================================================ ' Redimensionner et déplacer une fenêtre SUB Redim_Deplace_Form() dim_local ret%, hwnd%,i%,hauteur%,largeur% form 10 : color 10,0,255,255 : hwnd% = handle(10) alpha 20 : parent 20,10 : font_bold 20 : font_size 20,12 caption 20,"Une fenêtre qui se déplace toute seule" hauteur% = 100 : largeur% = 400 : ' dimension de la fenêtre for i% = 1 to 900 ret% = dll_call6("MoveWindow",hwnd%,int(screen_x/2+300*sin(i%*6.28/500)),int(screen_y/2+200*cos(i%*6.28/500)),largeur%,hauteur%,1) pause 10 next i% END_SUB rem ============================================================================ SUB La_Souris_Se_Balade_Toute_Seule() dim_local x%,y%,A7endroit% : ' original comme nom de variable! caption 0,"La_Souris_Se_Balade_Toute_Seule et pond des cercles !" 2d_fill_color 255,0,0 for x% = 100 to screen_x -100 step 100 for y% = 100 to screen_y step 100 A7endroit% = dll_call2("SetCursorPos",x%,y%) : ' Positionner la souris en x%,y% 2d_circle x%,y%,20 : ' Tracer un cercle plein à la position de la souris pause 100 next y% next x% A7endroit% = dll_call2("SetCursorPos",screen_x/2,screen_y/2) :' Positionner la souris au milieu de l'écran 2d_circle screen_x/2,screen_y/2,50 caption 0,"La souris est au centre de l'écran" END_SUB rem ============================================================================ SUB Fermer_tout() dim_local y caption 0,"On ferme la boutique, lentement mais sûrement !!!" delete 10 for y = screen_y to 0 step -10 height 0, y : pause 100 next y terminate END_SUB rem ============================================================================
| |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Re tout le monde ; D Sam 25 Avr 2015 - 2:55 | |
| - JL35 a écrit:
- Par exemple papydall, tu donnes le positionnement curseur:
ret% = dll_call2("SetCursorPos",x%,y%) c'est très bien et ça marche, mais je ne sais pas où tu as trouvé la syntaxe de l'appel. Et si je veux appeler la fonction "GetCursorPos", par exemple, comment dois-je rédiger l'appel à la fonction et où vais-je récupérer les paramètres rendus ? c'est valable pour touites les autres fonctions.
Vous trouvez sur mon Webdav un fichier apidocvb.chmIl contient une liste de 238 fonctions API de différentes DLL. Comme son nom l’indique, c’est pour le langage VB. On peut traduire plusieurs fonctions en Panoramic. Parfois on doit tâtonner. Prenons comme exemple la fonction FlashWindow suivante(en VB) - Code:
-
Declare Function FlashWindow Lib "user32" ( _ ByVal hWnd As Long, _ ByVal bInvert As Long) As Long
On doit la comprendre comme suit : Cette fonction s’appelle FlashWindow , elle se trouve dans user32.dllElle nécessite deux paramètres hWnd et bInverthWnd : le hande de la fenêtre bInvert : valeur binaire ‘Vrai’ ou ‘Faux’ On peut la traduire en Panoramic : - Code:
-
dll_on "user32.dll" Clignoter() end ' Faire clignoter la barre de menu de la fenêtre SUB Clignoter() dim_local ret%, hwnd%,i%,oui% hwnd% = handle(0) oui% = 1 : ' = 0 --> ne pas clignoter , non 0 --> clignoter for i% = 1 to 50 ret% = dll_call2("FlashWindow",hwnd%,oui%) : pause 50 next i% caption 0,"Je ne clignote plus !" END_SUB rem ============================================================================
Pour SetCursorPosLe document nous informe - Code:
-
Declare Function SetCursorPos Lib "user32" ( _ ByVal x As Long, _ ByVal y As Long) As Long
En Panoramic, ça donne - Code:
-
dll_on "user32.dll" Position_Souris(100,100) :' Positionner le curseur de la souris en 100,100 end rem ============================================================================
SUB Position_Souris(x%,y%) dim_local position% position% = dll_call2("SetCursorPos",x%,y%) END_SUB rem ============================================================================
Les noms des fonctions sont SENSIBLES à la casse : Vous devez les inscrire exactement comme ils sont donnés.Edit : Panoramic a des sérieuses limitations pour la gestion des DLL. Il n’autorise qu’au maximum 6 paramètres à transmettre à une DLL, or plusieurs fonctions nécessitent beaucoup plus de paramètres. Le type de certains paramètres n’existe pas en Panoramic, tel que les paramètres de type structure,etc. Mais quand même, on peut faire d'excellentes choses en Panoramic. Vive Panoramic! Vive le Forum! | |
| | | jimx78
Nombre de messages : 241 Age : 33 Localisation : Yvelines Date d'inscription : 24/05/2010
| Sujet: Re: Re tout le monde ; D Sam 25 Avr 2015 - 9:25 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Re tout le monde ; D Sam 25 Avr 2015 - 9:52 | |
| Et vive l'orthographe !
Merci papydall, tu m'as donné du grain à moudre ! | |
| | | The Gamer
Nombre de messages : 110 Age : 30 Localisation : Toulouse (31) Date d'inscription : 11/05/2010
| Sujet: Re: Re tout le monde ; D Sam 25 Avr 2015 - 10:00 | |
| Pour répondre à jimx78 concernant notre possible association concernant unity, je pense que je connais encore mal PANO et mon petit projet m'aidera a mieux comprendre son fonctionnement. Par ailleurs, je connais Blender mais je maitrise très mal le texturing, la lumière, et mes capacités de créations 3D sont relativement réduites ^^. J'ai déjà essayé de me mettre au développement de jeux avec la suite Unreal_Engine (a peu près l'équivalent d'unity). Même si ces logiciels possèdent de puissants moteurs, il faut néanmoins une bonne maitrise difficile à acquérir par le manque de documentation (du type tutos) à mon gout. Enfin, comme je l'ai déja dit, je suis pour le partage d'idées et l'entraide comme elle se fait sur ce forum, la réponse que viennent de donner les membres au problème de pointeur le prouve. Mais j'ai mon rythme personnel pour avancer dans le développement de programmes et il m'est difficile pour l'instant de répondre a la contrainte d'un projet. Mais si un jour j'arrive sur un point de butée, que le programme devient trop complexe (ce qui est encore loin d'arriver), je ferais appel a votre aide et je vous proposerais un projet. Ah mon avis un projet sérieux est pas facile a mener, il faut bien planifier le rendu du programme à l'avance et bien répartir les taches. Ta proposition était vraiment sympa de ta part d'autant plus que je ne pensais pas que mon petit programme susciterait autant d'interet. | |
| | | jimx78
Nombre de messages : 241 Age : 33 Localisation : Yvelines Date d'inscription : 24/05/2010
| Sujet: Re: Re tout le monde ; D Sam 25 Avr 2015 - 20:03 | |
| Unity est vraiment en train de ce développer. j'ai fait des test et si je peux discuter avec toi sur Skype je te le montrerai. J'ai appris et je sais faire a present de UV mapping (texture sur les objets complexe) et je sais modeliser des objets 3D. J'ai encore à approfondir mes connaissance sur blender. Pour les lumière c'est gerer directement sur le logiciel unity j'ai fait des test ya 2 jours, clique sur le lien. J'ai fait ca en glisser déposer en 1h Max. C'est juste des tests de rendu. On peux ce deplacer dans cette scène. J'ai mis 2 sources de lumiere : une rouge et une jaune en spote : https://www.dropbox.com/s/ciqkme3ztl5dzh0/unity%203d.png?dl=0J'ai bien compris ta disponibilité aussi tkt. Mais c'est peu t'être possible, on a presque le même Age aussi, ça aide^^ | |
| | | Contenu sponsorisé
| Sujet: Re: Re tout le monde ; D | |
| |
| | | | Re tout le monde ; D | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |