Bonjour !
J'ai découvert un petit programme en C très intéressant, qui s'appelle UCI Filter :
http://www.nnuss.de/Hermann/UciFilter.html
Pour expliquer la chose en deux mots, c'est un programme qui s'interpose entre Arena (ou un autre programme du même genre) et un moteur de jeu d'échecs. Au lieu de donner à Arena le chemin du moteur, on lui donne le chemin d'UCIFILTER.EXE avec le chemin du moteur comme paramètre. UCI Filter intercepte les messages échangés dans les deux sens et les communique (en en filtrant certains). Si cette explication n'est pas assez claire et si le sujet vous intéresse, je pourrai proposer une démonstration de la façon dont le programme fonctionne.
Je me suis lancé dans une tentative d'adaptation en Pascal. Avec le temps et avec votre aide, j'espère y arriver. 
Voici ce que j'ai fait jusqu'ici (en pièce jointe, avec le code original). Ce n'est pas grand chose mais j'aimerais déjà avoir votre avis.
Je bute sur l'en-tête de cette procédure :
void HandleDurchPipeErsetzen( DWORD EinOderAus, HANDLE* pMeinHandle, HANDLE* pEngineHandle, HANDLE* pOriginal )
Quel serait l'équivalent de l'astérisque ?
Partager