Utilisation dll cpp

Tom59247 Messages postés 27 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 7 février 2013 - 7 févr. 2013 à 17:29
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 7 févr. 2013 à 19:45
Bonjour tout le monde,

J'utilise une DLL écrite en cpp pour réaliser un hook depuis mon prog écrit en Vb.
Cela fonctionne bien, en revanche je souhaiterais passer en argument à mon hook un handle,
problème en vb les handle sont des entiers(intptr) alors que dans ma DLL c'est de l'hexa.

je procède donc de la manière suivante :

Public Declare Function SetHookGet Lib "HOOK.dll" (ByVal fentre As Integer, ByVal Cible As Integer) As Integer
          dim Panel15HWND as intptr = WindowFromPoint(500, 50)
          SetHookGet(Me.Handle.ToInt32, Panel15HWND.ToInt32)


int WINAPI SetHookGet(int me, int cible)
{
          HWND moi = (HWND)me;
          HWND Focus = (HWND)cible;
}


Mais sans succès...

lorsque je réalise la recherche de handle directement depuis ma dll cela fonctionne ..

Quelqu'un pour éclairer ma lanterne ?

Merci d'avance

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 févr. 2013 à 17:51
Bonjour,
comment (code) détermines-tu le handle à passer à la fonction ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Tom59247 Messages postés 27 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 7 février 2013
7 févr. 2013 à 18:21
Merci pour le retour,

depuis le vb, je scan les Fils à la recherche des handles ou pour les test
WindowFromPoint(500, 50)


et quand je faisais la recherche du handle depuis ma dll c'etait une recherche parmi les fils.

J'essaye juste de rendre ma DLL dynamique au final ...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 févr. 2013 à 18:26
Montre la déclaration de la fonction WindowFromPoint (celle que tu as faite) !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Tom59247 Messages postés 27 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 7 février 2013
7 févr. 2013 à 18:34
    Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Integer, ByVal yPoint As Integer) As IntPtr


je ne pense pas que le problème soit de cette partie de code, mes fonction de recherche de handle servent dans d'autre code je n'ai jamais eu de soucis :/
0

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

Posez votre question
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
7 févr. 2013 à 19:45
Bonjour,

En vb les handle sont des entiers(intptr) alors que dans ma DLL c'est de l'hexa


L'hexa n'est qu'une représentation, il serait utile de savoir si le pointeur en VB est un 32 ou 64 bits et si tes entiers en C sont des 32 ou 64 bits.

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Rejoignez-nous