Xevia AccueilBlogActualitésA propos

ELAN Smart-Pad et rundll32

Phénomène inexplicable sur les ordinateurs dotés d'un touchpad ELAN, les fonctions "secondaires" — celles qui font intervenir deux doigts ou plus — se retrouvent désactivées sans raison. Particulièrement gênant quand on visite une page Web ou qu'on parcourt un dossier, car le "scroll" est bien pratique dans ce genre de situations. Mettre à jour les pilotes et programmes n'arrange rien.

C'est par hasard que j'ai identifié la source du problème : lorsque le processus rundll32.exe est en cours d'exécution, toutes les fonctions secondaires du Smart-Pad sont comme inactives. Ma première hypothèse était que le programme de configuration lançait une DLL spécifique, en rapport avec le touchpad, et ce par le biais de rundll32. Mais après vérification — en codant une DLL qui ne fait rien d'autre que boucler et qui empêche rundll32 de se terminer — il s'avère qu'en réalité il suffit que rundll32 soit exécuté pour que les fonctions du Smart-Pad soit altérées ... n'importe quel programme peut donc bloquer le touchpad et exécutant une DLL quelconque !

Puisqu'on ne sait pas pourquoi rundll32 bloque le Smart-Pad (il n'y a absolument aucun rapport entre les deux), à priori on ne peut pas vraiment créer de correctif ... On ne peut bien sûr pas empêcher rundll32 d'être exécuté, ce programme est trop important et bon nombre de programmes l'utilisent pour effectuer des initialisations (les panneaux de contrôle des cartes graphiques NVidia, par exemple). Ma solution a été de coder un petit programme qui termine l'exécution de rundll32. Une petit icône sur la barre des tâches, un clic quand le touchpad ne réagit plus et le tour est joué.