Получить снимок текущего активного окна в C ++ Windows - PullRequest
0 голосов
/ 05 февраля 2019

Я пытался выяснить, как сделать скриншот моего активного окна.Я прочитал несколько примеров здесь и на других сайтах, но ни один из них, по-видимому, не работает для меня.

Самый простой пример, который я нашел:

SendKeys::Send("%{PRTSC}");
    Image img = Clipboard.GetImage();
    img.Save(".\testprintscreen.jpg");

Однако, это дает мне ошибки при наведенииуказатель мыши над переменной img выдает

"объект типа абстрактного класса" System :: Drawing :: Image "недопустим"

и при наведении курсора мышиповерх Clipboard.GetImage он говорит

«имя типа не разрешено»

Вот мои объявления пространства имен:

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace System::Drawing::Imaging;
using namespace System::Text;
using namespace System::Globalization;
using System::Math;

У меня также естьпопробовал следующее:

Bitmap bitmap = (gcnew Bitmap(this->Width, this->Height));
    Drawing::Rectangle rect = Drawing::Rectangle(0, 0, bitmap.Width, bitmap.Height);
    bitmap.Save("TestImage.jpeg", ImageFormat::Jpeg);

Однако, это дает мне только изображение с черным прямоугольником такой же формы / размера моего окна программы ... на самом деле оно не захватывает содержимое окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...