Dialogue avec dll

Chayy Messages postés 4 Date d'inscription dimanche 3 décembre 2000 Statut Membre Dernière intervention 31 mars 2008 - 28 févr. 2008 à 14:09
Chayy Messages postés 4 Date d'inscription dimanche 3 décembre 2000 Statut Membre Dernière intervention 31 mars 2008 - 5 mars 2008 à 19:17
Bonjour,
je cherche à donner des informations à ma dll à partir de mon application principale. Je dois lui fournir deux tableaux, qui seront utilisés dans ma fonction callback (mouseProc, c'est pour un hook souris ..)
Si j'ai bien compris il suffit normalement d'exporter la fonction, et de l'appeler dans mon application principale avec en paramètres les deux tableaux, sauf que dans mon cas, je ne vais pas exporter ma fonction callback... Du coup il faut que je declare une autre fonction ?

2 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
28 févr. 2008 à 18:30
Je ne comprends pas très bien...si tu n'exportes pas ta fonction callback, comment feras-tu pour lui associer le hook?
Une précision : si par ton hook tu vises l'interception de messages d'autres processus, il faut bien voir que chaque appel de la callback se fera dans le contexte du processus concerné...donc les variables globales de ta dll diffèreront pour chaque processus...pour partager des ressources utiliser le file mapping :CreateFileMapping(), MapViewOfFile()...
0
Chayy Messages postés 4 Date d'inscription dimanche 3 décembre 2000 Statut Membre Dernière intervention 31 mars 2008
5 mars 2008 à 19:17
Salut, désolé de revenir à la charge une semaine apres... et merci de ta réponse juju12.

En fait, pour être franc je ne suis pas vraiment au point en programmation windows, c'est même pour tout dire la première fois que je dois y mettre les doigts, du coup il est possible que je me plante...

Enfin bref, ma dll va tres fortement s'inspirer de ce qu'ils font ici, en gros je veux installer mon hook souris puis regarder, avec la fonction WindowFromPoint(), si je suis sur le bureau.
Si oui, je vais créer un menu qui dépendra de la position du curseur de la souris. En gros suivant sa position, le menu ne contiendra pas les meme items.
Du coup, je veux fournir à ma fonction
: LRESULT CALLBACK MouseProc(int code, WPARAM wParam, LPARAM lParam), un tableau contenant les items pour chaque menu, et un tableau contenant des rectangles définissant les zones propres a chaque menu.

A première vue j'aurais fais comme eux sur le lien, exporter simplement les fonction d'install et remove du hook, plus peut être une pour obtenir les deux tableaux.

Compte tenu de ces explications, vous pensez toujours que je dois utiliser un file mapping ? je suis un peu perdu la ...

Mon appli principale est développée avec Qt au fait, pas avec l'api windows.
http://www.leunen.com/cbuilder/hook.html
0
Rejoignez-nous