Excellent !

thx xds4lx.

i missed processing WM_DESTROY at first try.after your
2nd thread(push in the butt) i checked back & u r right.

but how come?

WM_DESTROY-->WM_QUIT-->postquitMessage(0);
should have done the job in original code.yet yours works.




Code:
 case WM_CLOSE:
    									
	    wglMakeCurrent(hdc, NULL);
		wglDeleteContext(hRC);
       if (fullScreen)
	   {
		ChangeDisplaySettings(NULL,0);			
		ShowCursor(TRUE);						
	   }
	    UnregisterClass(szAppName, hInstance);

			
		PostQuitMessage(0);
		return 0;
		break;

	 case WM_DESTROY:
		 DestroyWindow(hwnd);
		 return 0;
		 break;