unlimited window creation at runtime without GLUT


I used for a long time GLUT to create a multi-window application, but there are too many limitations for my application (like no possibility to share display lists, etc.).
So I want to set-up windows by myself (win32 application) and on the fly (if I need a new window I just create a new one at runtime).
I had a look to HeNe’s tutorials which are very nice but which can’t be used easily with multiple windows created at runtime.
Is there any simple code I can use to do what I want?? Of course I want to be able to interact with my mouse and the created windows, toggle between fullscreen and windowed mode, etc.

Can someone help??