En fait... sur le principe, tu n'es pas loin.
Il faut que tu crées une classe héritant de NativeWindow.
Ensuite, tu lui assignes le handle de "window2" avec la méthode AssignHandle... et ensuite tu surcharges la méthode WndProc pour intercepter le message WM_WINDOWSPOSCHANGING.
Un conseil, crée un destructeur sur ta classe pour appeler la méthode ReleaseHandle().
Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]