oh btw just a little thing that it's not that special but it's kinda "useless", not that important
Code:
int MaxX = GetSystemMetrics( SM_CXFULLSCREEN );
int MaxY = GetSystemMetrics( SM_CYFULLSCREEN );
this will do fine, you don't need the cast to LONG.. neither include the scope operator (::, i think that's the name, it's like using "Me." at VB or "This." at C# to access functions inside your class/module, pointless).
I just looked trough the code, and 2 nested for's it's easier to understand =D gj anyway ~.~