CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Prob API

dnob700
dnob700
Niveau 10
01 mars 2006 à 22:37:16

tu peut utiliser SetCapture pour que ta fenêtre recoive toujours les événements de la souris (je ne sais pas si ça marche même quand elle est caché).

Mais tu n´a pas de mécanisme "simple" pour faire passer les messages à la fenêtre qui aurait du les recevoir.

Mais tu as besoin des messages ? ou juste de la position de la souris ? car si c´est ça, tu peut récupérer cette information sans pirater le système.

Ce n´est pas propre de poser un hook car ça ralentit le système. Globalement c´est utilisé par des logiciel comme des keyloggers ou ce genre de chose (donc c´est mal connoté, même si ça peut être très utile comme fonction).
Pour le SetCapture, le problème est que tu prive les fenêtre des messages qui leurs reviennent... donc si tu ne gère pas très précautionnesement la manière dont tu utilise les info, tu gène énormément l´utilisateur.

n00ble55
n00ble55
Niveau 4
01 mars 2006 à 23:08:16

Je sais que la pos de la souris peut etre obtenue avec GetPos je crois.Mais j´ ai besoin des clics. Mais je n´ en ai pas besoin de beaucoup.

J´ ai telecharger une source de hook et j´aimerais savoir un truc.

Si je compile dans un projet dll comment faire pour obtenir un exe ?

n00ble55
n00ble55
Niveau 4
01 mars 2006 à 23:38:59

Non ok c ´est bon j´ ai pijer.

J´ aimerais savoir quand meme un truc : ces fonctions appelé par windows comme main en console ou WinMain avec l´ api on peut les mettre dans une dll ?

dnob700
dnob700
Niveau 10
02 mars 2006 à 00:19:45

non, dans une dll tu peut mettre DllMain (faut vérifier, comme tout ce que je dit), mais c´est une fonction qui est appelé lorsque la DLL est chargé par un programme, ou déchargé.

Mais tu ne peut pas convertir "facilement" une dll en exécutable (on ne peutpas, mais il y a quand même moyen d´exécuter une dll comme un exécutable).

Là, ce qu´il te faut c´est deux projet, l´un pour ton programme, et l´autre juste pour ta DLL qui recoit les messages et qui les renvoie à ton programme.

n00ble55
n00ble55
Niveau 4
02 mars 2006 à 18:09:34

OK j´ ai compilé ma dll. J´ ai ayssayer de compiler l´ autre projet avec lerpog mais sa ne marche pas le compilo me met :

[Linker error] undefined reference to `SetHook@0´

( c ´est la fonction de ma dll)

++

dnob700
dnob700
Niveau 10
02 mars 2006 à 18:18:04

il y a deux cas : ou bien ton compilo a créé dans le même dosier que ta dll un fichier .lib ou .a qui porte le même nom que ta dll, alors tu doit l´ajouter au option du linker de ton programme.

Si ce n´est pas le cas, tu doit utiliser les fonctions de windows pour charger une DLL qui sont LoadInstance et LoadFunction (le première j´en suis presque sur, la deuxième non, mais si t´as la doc pour la première, tu l´auras pour la deuxième aussi).

La première fonction charge une dll, et la deuxième une fonction dans la dll.

tu utilise quel compilo ?

n00ble55
n00ble55
Niveau 4
02 mars 2006 à 18:23:09

J´ utilise DevC.

Mon compilo a fais un fichier .a mais qui s´ appelle libMonNomdeFichier.a. Si cela est valable
comment faire pour linker ?

n00ble55
n00ble55
Niveau 4
02 mars 2006 à 20:25:46

C ´est bon j´ ai trouvé.

Mais je me retrouve maintenant devant une autre erreur :

[Linker error] undefined reference to `_imp__InitHook´

Tout est linké pourtant.

++

dnob700
dnob700
Niveau 10
02 mars 2006 à 21:04:13

tu as une fonction inithook quelque part dans ton programme ?

normallement le linker doit te donner le nom du module qui contient la référence à _imp__inithook. C´est un module de code à toi, ou celui d´une lib, ou celui de ta DLL ?

n00ble55
n00ble55
Niveau 4
02 mars 2006 à 21:27:53

oui ca faitpartie du code de ma DLL.
Mais ya plus d´ ereur maintenant il fallait faire

extern "C"
void __declspec (dllimport) InitHook();

Voici le code de mon Hook :

void DLLEXPORT InitHook ( void )
{
HMouse = SetWindowsHookEx ( WH_MOUSE, (HOOKPROC)MouseProc, HInst, 0 );
}

et la proc

LRESULT CALLBACK MouseProc(int nCode,WPARAM wParam,LPARAM lParam)
{
if (wParam == WM_LBUTTONDOWN)
SetCursorPos(154,698);
return CallNextHookEx(HMouse,nCode,wParam,lParam);
}
mais cela n´ affiche pas le resulata exconter (ni meme aucun resultat)

n00ble55
n00ble55
Niveau 4
03 mars 2006 à 22:04:52

D´ ailleur j´ ai l´ impression que Devc++ ne prend pas les hook. J´ ai pris des codes sources a L´ IDENTIQUES sans y changer une lettre certain donné des exe avec qui marchait tres bien mais quand je compilais : 0 erreurs tout va bien, mais le hook ne marche absolument pas.J´ ai voulu voir ce qui n´ allait pas et j´ ai remarquer que la proc de hook n´ etait aps appeler.

Si quelqun a deja eu se genre de probleme je l´ atetnd de pied ferme.

++

dnob700
dnob700
Niveau 10
03 mars 2006 à 23:04:46

dans la fonction au dessus, de la fonction InitHook et MouseProc, lesquelles sotn dans la DLL et lesquelels sont dans ton programmes ?

D´où biens la variables hInst que tu utilise dans nitHook, qui l´initialise ? avec quoi ?

n00ble55
n00ble55
Niveau 4
04 mars 2006 à 10:21:34

OUi elle sont toutes dans la proc et hinst est initialisé dans Dllmain.
Au fait maisntenant a chaque fois que je evux compiler j´ aile droit a

Makefile.win [Build Error] No rule to make target `all´. Stop.

n00ble55
n00ble55
Niveau 4
04 mars 2006 à 10:23:36

OUla j´ ai ecrit n´ importe quoi.

Les 2 focntions que je t´ai montré sont dans la dll.

n00ble55
n00ble55
Niveau 4
04 mars 2006 à 22:23:40

Bon je n´ ai toujours pas trouvé de faire mes hooks mais j´ai pu observer l´ erreur suivante :

Makefile.win [Build Error] [clean] Error 1

Je comprend vraiment pas. je peu compiler 20 fois de suites sans probleme faire le exe puis recompiler sans changer une ligne et avoir une erreur de ce type.N´ y a t il pas moyen de gerer sa soit meme ?

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment