High performance timer you say? Try these, QueryPerformanceCounter and you will need QueryPerformanceFrequency to see if it's supported and if so what the frequency is. Look it up on MSDN, I think this is what you were looking for.

"...the results are undefined, and we all know what "undefined" means: it means it works during development, it works during testing, and it blows up in your most important customers' faces." --Scott Meyers

It depends how accurate you want it....if you want it to be roughly x milliseconds then SetTimer and the like will be ok......but if you want more accuracy it can be much harder (depending on the accuracy you want)

And lying roughly in the middle in the 'accuracy stakes is the multimedia timer which you can get a 'time' with the timeGetTime fn. #include <mmsystem.h> and link with winmm.lib (msvc, borland, lcc-win32) or libwinmm.a (MinGW; can also use '-lwinmm').