Pour le multitâche, perso pour moi ça serait du multitâche mais dans une fenêtre ou chaque contrôle (boutons...) ou autre est géré. Il suffit d'avoir une pile d'événements du genre clique sur bouton nommé bouton0 ou curseur dessus... puis de cherche le callback si existe et de l'executer, comme ça ça a l'air facile mais en faite il faudrait un timer s'occupant d'intercepter ses messages et d'executer la tâche assoccié en mode utilisateur et non superviseur...
Ce multitâche n'a qu'un but faciliter la programmation à la style VB du genre:
CreateWindow (&MyWindow,0,0,150,50,ICON0,W_MaxAndClose);
CreateButton (&Button0,Bouton0,&MyWindow,10,10,20,20,F_BOLD);
ShowWindow (&MyWindow);
....
DeleteWindow (&MyWindow);
En bref chaque élément est associé à une fenêtre et chaque fenêtre contient une pile d'évenements, le but et si un événement ce déclenche et est autorisé donc clique sur MyButton il suffit de vérifier si la fonction callback Bouton0 existe et d'executer son contenu.
Windows ST possède cette syntaxe et une partie de multitâche mais le projet est abandonné pour l'instant et peu optimisé.
Quand au gestion des objets et des fenêtres il suffit de créer un handle pour les objets et la fenêtre et lorsque ses handles ne sont pas utiliser les compresser en mémoire et les locker... le principe permet d'afficher 10 fenêtres et 20 objets dans chaque fenêtre en consommant 50 Ko de RAM objets, bien sûr une fenêtre suffit à l'écran et le nombre d'objets à afficher est assez faible. En tout cas il est clair que ce genre de projet est très interessant et permet d'ouvrir de nouveaux horizons.