2011-11-26 31 views
6

Belirli bir pencerede (hwnd) görüntülenen bir SDK, eklenti veya kod arıyorum. C# veya Java'da mümkünse. Varsa bilen var mı? Ben geziyorum ama hiçbir şeye rastlamadım.Ekran kaydı tek bir pencere

+5

olası yinelenen (http://stackoverflow.com/questions/397754/record-video-of-screen-using-net-technologies) – Nasreddine

+0

Soru benzer görünür ; ama bir kopya değil. Söz konusu bağlantı genel olarak ekran görüntüsünü ifade eder; Bu soru, belirli bir pencere için bir HWND verilen ekranın bir bölümünü yakalamak için özellikle başvurur. – IDWMaster

+0

Hayır, bu bir kopyası değil. İşte nedeni: Bu soru, pencerenin masaüstünde görüntülenip görüntülenmeyeceğini veya küçültüldüğünü (HWND'den) tek bir pencerenin nasıl kaydedileceğini sorar. Bu nedenle, ekran yakalama yöntemleri burada cevap olmayacaktır. Cevap, bir pencere tanıtıcısı verilen pencereyi nasıl yakalayacağınız ile ilgili bir şey olmalıdır. – thenonhacker

cevap

4

Microsoft Expression Encoder 4 with Service Pack 2 (SP2)'u yükleyin.

Kullanmak için örnek bir program. Daha dolu bir örnek, indirmeye dahil olan SDK ile birlikte gelir.

using System; 
using System.Drawing; 
using Microsoft.Expression.Encoder.ScreenCapture; 

// Added references to: 
// Microsoft.Expression.Encoder 
// Microsoft.Expression.Encoder.Types 
// Microsoft.Expression.Encoder.Utilities 
// WindowsBase 
// System.Drawing (for Rectangle) 

namespace scrcap 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      ScreenCaptureJob job = new ScreenCaptureJob(); 

      // You can capture a window by setting its coordinates here 
      job.CaptureRectangle = new Rectangle(100, 100, 200, 200); 

      // Include the mouse pointer in the captured video 
      job.CaptureMouseCursor = true; 

      // Output file; you can transcode the xesc file to something else later. 
      // Note that this silently does nothing if the file already exists. 
      job.OutputScreenCaptureFileName = @"C:\Users\arx\scrcap\capture.xesc"; 

      // Do some capture 
      job.Start(); 
      // Wait for a keypress 
      Console.ReadKey(); 
      // And stop 
      job.Stop(); 
     } 
    } 
} 
[Ekranın Video Kaydet NET teknolojileri kullanarak] arasında
+0

@Jochen: Bu iş senin için mi yaptı? – arx

İlgili konular