По поводу снятия скриншота
Я немного в замешательстве. Копию экрана я сделал через BitBlt, а как полученное сохранить в файл?
можешь просто поле полученных байт на финт скинуть, можешь предварительно сжать в БМП, в ДЖПЕГ, у тебя ведь есть все для этого:
цветность(bpp),
размеры,
собственно байты цветов.
алгоритмы сжатия можешь реализовать сам(ищи спецификацию файлов) или воспользоваться чужими исходниками.