As for something faster than readpixelfast, there is in Blitzplus, but to use it you have to find out the color depth, and the "pitch" of the screen
Do you mean LockedPixels()?
LockedFormat just tells you what to read eg:
3=24 bit so every 3 bytes of lockedpixels is of a BlueByte a GreenByte and a Red Byte.
with a 16 bit format you can use binary to get R,G and B from RGB eg:
g= (RGB_Short and %0000001111100000)shr 5