2011-11-26 12 views
6

Sto cercando un SDK, un plug-in o un codice che effettui la videoregistrazione di una finestra specifica (hwnd). Se possibile in C# o Java. Qualcuno sa se questo esiste? Sono stato googling, ma non ho trovato nulla.Registrazione di una singola finestra

+5

possibile duplicato di [Record Video di schermo utilizzando tecnologie .NET] (http://stackoverflow.com/questions/397754/record-video-of-screen-using-net-technologies) – Nasreddine

+0

questione sembra simile ; ma non è un duplicato. Il link in questione si riferisce alla cattura dello schermo in generale; questa domanda si riferisce in particolare alla cattura di una porzione dello schermo dato un HWND per una finestra particolare. – IDWMaster

+0

No, questo non è un duplicato. Ecco perché: Questa domanda chiede come registrare una singola finestra indipendentemente dal fatto che la finestra venga visualizzata sul desktop o ridotta a icona (ha menzionato HWND). Pertanto, i metodi di cattura dello schermo non saranno la risposta qui. La risposta dovrebbe avere qualcosa a che fare con come catturare la finestra dato un handle di finestra. – thenonhacker

risposta

4

Installare Microsoft Expression Encoder 4 with Service Pack 2 (SP2).

Ecco un programma di esempio per utilizzarlo. Un campione più completo viene fornito con l'SDK, incluso nel download.

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(); 
     } 
    } 
} 
+0

@Jochen: ha fatto questo lavoro per te? – arx

Problemi correlati