151Fermer153
ThibautLe 07/10/2009 à 19:53
grin
C'est vrai que les balises couleurs ne sont pas forcément bien pensées pour un forum qui était majoritairement dédié à la programmation.

Ce que je vais faire, c'est déporter la partie qui crée la chaîne nulle dans une fonction séparée. Celui qui trouve comment récupérer de manière fiable le nom du programme n'aura plus qu'à remplir.

Le code de Folco basé sur les fonctions de PreOS m'inspire une solution :
On note l'adresse de n'importe quel symbole dans le processus (qui est forcément un twin du programme possédant le même nom ?). On parcourt la table des handles pour y chercher l'adresse inférieure la plus proche. Le handle ayant cette propriété est forcément celui du twin. Temps : o(sizeof(table)/2).
En seconde phase, on fouille dans les VAT jusqu'à tomber sur une entrée qui fait référence au handle : c'est celle du processus. Temps : o((nombre total de fichiers dans la TI)/2)

Est-ce infaillible ? Connait-on à coup sûr l'adresse de la table des handles sur n'importe quelle machine ? Comment ?

J'ai l'impression d'avoir vu FireHunter parler de ça récemment avec d'autres. Je vais relire.