0
私の小さなプログラム(ビデオとオーディオ)で起こることをすべて記録しようとしています。モニタがないマシンでスクリーンショットが作成された場合、モニタが物理的に接続されていない、またはグラフィックスカードがスリープモードに入っているか、グラフィックスカードがインストールされていない状態(サーバ)であっても、大きな問題が生じることがあります。この問題を解決する方法はありますか?現在、私はサーバにアクセスしておらず、設定も知らない((C#でのスナップショット(モニタなし、またはグラフィックカードなし)
現在このコードを使用して50ミリ秒ごとにスナップショットを作成しています。このコードはチェックできません)私は私のウィンドウを最小化し、これはあまりにも良いではない場合、モニタなしで...私はこのdoent作業)
IntPtr myIntptr = FormElement.Handle;
int hwndInt = myIntptr.ToInt32();
IntPtr hwnd = myIntptr;
Bitmap bm = new Bitmap(FormElement.Width, FormElement.Height);
Graphics g = Graphics.FromImage(bm);
IntPtr hdc = g.GetHdc();
bool result = PrintWindow(hwnd, hdc, 0);
g.ReleaseHdc(hdc);
g.Flush();
if (result == true)
{
bm.Save(aFileName, ImageFormat.Jpeg);
}
をHPのTouchSmartモノブロックデスクトップを使用しています。私の英語とどんなアドバイスをありがとうのため
は申し訳ありません。
Windowsのバージョン(およびAeroを使用しているかどうか)は関連している可能性があります。 – CodesInChaos
現在私はwin7とvistaを使用していますが、このコードはWinServer2003で使用されます。私はVmWare WinServer2003でtestetコードを持っていますが、それは素晴らしいですが、実際のサーバーではグラフィックカードはまれです。 – khorght
私は2003年はグラフィックカードなしでも使えるとは思わないが...本当に重要なのは、nothigがレンダリングされたときにキャプチャしたいものだ。それを指定することで、人々にとってより簡単に答えることができました。 –