Я пытался выяснить, как сделать скриншот моего активного окна.Я прочитал несколько примеров здесь и на других сайтах, но ни один из них, по-видимому, не работает для меня.
Самый простой пример, который я нашел:
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);
Однако, это дает мне только изображение с черным прямоугольником такой же формы / размера моего окна программы ... на самом деле оно не захватывает содержимое окна.