Link Search Menu Expand Document

Record Screen Video From Given Window - C++ (managed)

Screen Capturing SDK sample in C++ (managed) demonstrating ‘Record Screen Video From Given Window’

#include "stdafx.h"

using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::CompilerServices;
using namespace System::Runtime::InteropServices;
using namespace System::Security::Permissions;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly:AssemblyCopyrightAttribute("Copyright (c)  2011")];

// Version information for an assembly consists of the following four values:
//      Major Version
//      Minor Version
//      Build Number
//      Revision
// You can specify all the value or you can default the Revision and Build Numbers
// by using the '*' as shown below:




[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];

// CaptureFromGivenWindow.cpp : main project file.

#include "stdafx.h"

using namespace System;
using namespace System::Threading;
using namespace System::Diagnostics;

using namespace BytescoutScreenCapturingLib;

int main(array<System::String ^> ^args)
	// Create Capturer instance
    Capturer ^capturer = gcnew Capturer();
	capturer->RegistrationName = "demo";
	capturer->RegistrationKey = "demo";

	// Set capturing type
	capturer->CapturingType = CaptureAreaType::catWindow;

	// Specify window to capture by its title.
	// Capturer will take the first window containing "Internet Explorer" in its title.
	capturer->WindowToCapture = "Internet Explorer";

	// You can also capture only a part of the window by specifying capturing rectangle
	//capturer->CaptureRectLeft = 25;
	//capturer->CaptureRectTop = 25;
	//capturer->CaptureRectWidth = 320;
	//capturer->CaptureRectHeight = 240;

	    // WMV and WEBM output use WMVVideoBitrate property to control output video bitrate
   	    // so try to increase it by x2 or x3 times if you think the output video are you are getting is laggy
	    // capturer->put_WMVVideoBitrate(capturer->WMVVideoBitrate * 2);

        // uncomment to enable recording of semitransparent or layered windows (Warning: may cause mouse cursor flickering)
        // capturer->CaptureTransparentControls = true;

	// Set output video width and height
	capturer->OutputWidth = 640;
	capturer->OutputHeight = 480;

	// set border style
        capturer.CaptureAreaBorderType = CaptureAreaBorderType::cabtDashed;

	// Set output file name
	capturer->OutputFileName = "Output.wmv";

	// Start capturing

	// IMPORTANT: if you want to check for some code if need to stop the recording then make sure you are 
	// using Thread.Sleep(1) inside the checking loop, so you have the loop like
	// Do {
	// Thread.Sleep(1) 
	// }
	// While(StopButtonNotClicked);

	Console::WriteLine("Capture window for 5s...");

	// Wait for 5 seconds

	// Stop capturing

    // Release resources
    //capturer = NULL;

	// Open the capture video in default associated application

	return 0;

// Microsoft Visual C++ generated include file.
// Used by app.rc

// stdafx.cpp : source file that includes just the standard includes
// CaptureFromGivenWindow.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information

#include "stdafx.h"

// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently

#pragma once

// TODO: reference additional headers your program requires here

Download Source Code (.zip)

Return to the previous page Explore Screen Capturing SDK

Copyright © 2016 - 2021 ByteScout