Почему бы вам просто не заставить приложение сделать снимок экрана и сохранить его для вас?
Это, вероятно, единственный способ узнать наверняка, что изображение, которое вы сохраняете, это тот скриншот, который вам нужен.
Вы можете создать скриншот bmp следующим образом:
Size s = Screen.PrimaryScreen.Bounds.Size;
Bitmap bmp = new Bitmap(s.Width, s.Height);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(0, 0, 0, 0, s);
А затем сохраните BMP следующим образом:
bmp.Save("PATHANDFILENAME");
Обновление
Исходя из этой дополнительной информации, вы можете рассмотреть комбинацию сохранения снимка экрана и использования глобальной клавиатуры (, как предоставлено Томом ). С помощью крючка должна быть возможность захватить нажатый экран печати, а затем захватить и сохранить текущий экран. Также вы можете отменить нажатие экрана печати и предотвратить копирование экрана в буфер обмена.