Lire des données dans un programme (simulateur) - C++ - Programmation
Marsh Posté le 24-11-2004 à 10:16:42
ce ne serait pas plus simple de poser 1 caméra qui filme l'écran et qui irait "lire" les infos?
Marsh Posté le 24-11-2004 à 10:23:30
Amigalopin a écrit : Si j'ai compris, pour accéder à la zone mémoire utilisée, je dois avoir le handle du thread du programme. |
mmh pas tout à fait.
tu dois récuperer le pid du processus de ton jeu, puis l'ouvrir avec OpenProcess. Le HANDLE retourné servira de paramètre à ReadProcessMemory
N'oublie pas de fermer le HANDLE avec CloseHandle apres
Marsh Posté le 24-11-2004 à 11:34:22
... ben c'est pas trop le but.
Et puis tout le monde n'a pas de caméra qui filme l'écran.
La table qui va lire les emplacements mémoires utiles, je les ai pour Falcon4 et IL2.
Donc, il suffit de les mettres dans un fichier que le programme (ou service) consultera pour peupler ses vatriables d'adresses de lecture au démarrage.
Marsh Posté le 24-11-2004 à 11:38:18
BlackGoddess a écrit : mmh pas tout à fait. |
Merci de l'info.
Je viens d'avoir du code de mon collègue, et ça fonctionne comme tu le dis.
J'ai un code qui liste le pid de chaque programme en mémoire, et il me retourne aussi le handle.
Maintenant, je teste le ReadProcessMemory à un offset donné afin de voir si c'est correct.
Merci pour le CloseHandle: je vais bien vérifier sa fermeture.
Marsh Posté le 24-11-2004 à 10:14:28
Bonjour,
Après pas mal de recherches sur le net, je me décide à poster ici.
Actuellement, je fais du VB, mais pour mon project, je passe au C++.
Je joue avec de simu de vol (Falcon, Forgotten Battle, Strike Fighters Project One) et j'ai besoin d'écrire un programme (service) afin d'aller lire dans la mémoire les valeurs des instruments de vol de l'avion, afin de rediriger ces infos vers des périphériques USB.
Mon premier défi, est d'accéder à la mémoire ou est exécuté le programme. Ensuite, avec une table (qui est dispo), j'irai lire les offset où se trouvent les info que j'ai besoin.
Si j'ai compris, pour accéder à la zone mémoire utilisée, je dois avoir le handle du thread du programme.
Ensuite, je pourrai faire des appels 'ReadProcessMemory' après avoir récupéré son PID.
Est-ce correct?
... un grand merci pour déjà lire ce post,
@+