Инструменты, о которых я знаю, делают это - действительно «просто» запускает браузер (программно, конечно) и делает скриншот содержимого браузера и сохраняет его в изображении.
Я думаю, что независимо от того, что вы делаете, вам нужно будет найти способ сделать что-то подобное. Если вы по системному программированию обращаетесь к вызовам OS API, то, думаю, вам не повезет. Возможно, вы сможете получить стороннюю библиотеку, которая сделает это за вас, но тогда эта библиотека просто будет выполнять эти системные вызовы.
Я вижу, что теперь другие публикуют ссылки на места, которые могут оказаться полезными и для вас. Не посмотрев на ссылки, это, вероятно, самый простой и лучший способ.
Удачи