2010-12-12 2 views
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モノブロックデスクトップを使用しています。私の英語とどんなアドバイスをありがとうのため

は申し訳ありません。

+0

Windowsのバージョン(およびAeroを使用しているかどうか)は関連している可能性があります。 – CodesInChaos

+0

現在私はwin7とvistaを使用していますが、このコードはWinServer2003で使用されます。私はVmWare WinServer2003でtestetコードを持っていますが、それは素晴らしいですが、実際のサーバーではグラフィックカードはまれです。 – khorght

+0

私は2003年はグラフィックカードなしでも使えるとは思わないが...本当に重要なのは、nothigがレンダリングされたときにキャプチャしたいものだ。それを指定することで、人々にとってより簡単に答えることができました。 –

答えて

0

このように試す:

関連する問題