changing windows screen resolution

Does anybody know how to change the screen resolution w/o using DirectX or
anything, with Delphi 4 ?
And I would like to know if it is possible to detect that the screen resolution
has been changed. My method is to check the TScreen.Width & Height properties
in a TTimer object ; if it changes then the resolution has changed, but it is an ugly
way to do it... If anybody has an idea

thanx
(sorry for bad english)