Bonjour,
J'ai ajouter du code à un jeu par le biais d'un proxy-dll, c'est à dire que mon code est dans un fichier nommé "d3d9.dll", placé dans le répertoire du jeu, sachant que ce dernier regarde d'abord dans son répertoire pour charger la dll DX de Microsoft avant d'aller voir dans le répertoire system de Windows.
Du coup il charge ma dll, mon code démarre (et moi je fais le relais avec la "vraie" d3d9.dll).
Voilà, ça c'est pour placer le contexte
Ce que j'ai besoin de faire :
Connaitre le moment où l'utilisateur quitte le jeu, parce que je dois stopper les actions de mon code personnel et surtout libérer la mémoire suite à la création dynamique d'objets (DirectX et autre).
La première idée qui me vient à l'esprit c'est de capter le message windows correspondant. Mais une question se pose : si l'application "maître" (c'est à dire celle dans laquelle j'ai injecté mon code) recoit le message-windows avant moi je ne le détecterais jamais puisqu'elle va l'effacer de la queue des messages (puisque traité).
Donc il faudrait que je sois sûr de la capter en premier et aussi de le laisser tourner pour que l'application maître le recoive.
Avez-vous des idées la dessus ? ou même d'autres pour solutionner ce problème ?
J'ai pensé aussi à faire un hook sur l'équivalent de notre fonction "application.close" dans Delphi, mais comment la trouver ? :/
Merci d'avance,
Alekhine.
Partager