Qu’est-ce que le sous-classement et l’API?

Je suis relativement nouveau dans la programmation API Windows et je veux savoir en termes simples ce que sont les sous-classes et l’API Hooking. Je fais un projet qui utilise des contrôles dessinés par le propriétaire, et je continue à parler de deux termes. Maintenant, j’ai déjà vu beaucoup de didacticiels détaillés sur CodeProject.com à propos de ces sujets, mais le problème est que tous utilisent le MFC, et que je code en pure Win32. Si quelqu’un connaît de bons tutoriels sur les sujets mentionnés ci-dessus, veuillez poster les liens. Essayez également d’éviter les liens vers le msdn, car en tant que novice, j’ai du mal à comprendre ce qui est écrit ici.

Terminologie: le sous-classement se fait en remplaçant la procédure de fenêtre d’une fenêtre. Qui redirige les appels que Windows fait pour envoyer un message à une fenêtre à votre fonction afin que vous puissiez voir ces messages en premier. Cela vous permet de modifier le comportement de la fenêtre, en lui donnant de nouvelles fonctionnalités que l’original n’avait pas. C’est une technique très courante et directement supscope par le système d’exploitation, l’article du SDK est ici .

L’accrochage API est similaire mais pour les fonctions winapi. Pour que vous puissiez modifier le comportement du code qui s’exécute dans votre processus et que vous n’avez pas écrit. Arbitrairement, vous pouvez accrocher CreateFile () et changer le nom du fichier passé ou le faire échouer express. Il est beaucoup moins courant de le faire et il est également beaucoup plus difficile de faire les choses correctement car il ne s’agit pas d’une capacité intégrée comme le sous-classement. Microsoft Detours est un exemple de mise en œuvre de la technique.

Les deux techniques sont dans la catégorie de programmation avancée et vous pouvez vous retrouver avec des problèmes désagréables si vous ne le faites pas correctement. Si vous ne parvenez pas à lire les articles MSDN pour le moment, laissez-le sur l’étagère jusqu’à ce que vous soyez prêt.

Si vous programmez du Win32 brut, vous devriez probablement avoir le livre Petzold “Programming Windows”.