フォームのスクリーンキャプチャをしたくて、下記のように書いたのですが、
コンパイルは通るのに、肝心の中身はキャプチャされていなくて真っ黒になってしまうのですが、
どうしてでしょうか?

いろいろ試したのですが、どうしても解決できないので、解決策を教えて下さい。よろしくお願いします。


Graphics^ g1 = this->CreateGraphics();

Bitmap^ img = gcnew Bitmap(this->Width, this->Height, g1);
Graphics^ g2 = Graphics::FromImage(img);

IntPtr dc1 = g1->GetHdc();
IntPtr dc2 = g2->GetHdc();
HDC hDC1 = static_cast<HDC>(dc1.ToPointer());
HDC hDC2 = static_cast<HDC>(dc2.ToPointer());

BitBlt(hDC2, 0, 0, img->Width, img->Height, hDC1, 0, 0, SRCCOPY);