Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
VLScreenCapture from second monitor
12-20-2011, 03:09 AM
Post: #1
VLScreenCapture from second monitor
I'm trying to use a TVLScreenCapture instance to screen-capture my second monitor, like this:

CaptureDisplay := 1; // second monitor
VLScreenCapture1.Enabled := false;
VLScreenCapture1.Stop;
VLScreenCapture1.Region.Top := screen.Monitors[CaptureDisplay].Top;
VLScreenCapture1.Region.Left := screen.Monitors[CaptureDisplay].Left;
VLScreenCapture1.Region.Width := screen.Monitors[CaptureDisplay].Width;
VLScreenCapture1.Region.Height := screen.Monitors[CaptureDisplay].Height;
VLScreenCapture1.Region.Mode := crmScreen;
VLScreenCapture1.ImageSize.Width := ClientWidth;
VLScreenCapture1.ImageSize.Height := ClientHeight;
VLScreenCapture1.Enabled := true;
VLScreenCapture1.Start;

But it's capturing the first display (0) instead of the second (1).

Am I missing something obvious? (Or not so obvious?)

Thanks

ted
Visit this user's website Find all posts by this user
Quote this message in a reply
12-20-2011, 05:25 AM
Post: #2
RE: VLScreenCapture from second monitor
Is the secondary enabled?
Quote this message in a reply
12-20-2011, 05:35 AM (This post was last modified: 12-20-2011 05:41 AM by Ted Wagner.)
Post: #3
RE: VLScreenCapture from second monitor
I'm not sure what you mean by "secondary enabled" ... I have a 3-monitor configuration and I use the Screen.Monitors[] object to give me configuration data on each. I want to capture the content of the second monitor ... it is by all accounts "enabled" ...


(12-20-2011 05:25 AM)Dave Wrote:  Is the secondary enabled?


I got this working now, by setting Region.Mode to crmCustom instead of crmScreen, and doing so before setting the other Region fields.

(12-20-2011 03:09 AM)Ted Wagner Wrote:  I'm trying to use a TVLScreenCapture instance to screen-capture my second monitor, like this:

CaptureDisplay := 1; // second monitor
VLScreenCapture1.Enabled := false;
VLScreenCapture1.Stop;
VLScreenCapture1.Region.Top := screen.Monitors[CaptureDisplay].Top;
VLScreenCapture1.Region.Left := screen.Monitors[CaptureDisplay].Left;
VLScreenCapture1.Region.Width := screen.Monitors[CaptureDisplay].Width;
VLScreenCapture1.Region.Height := screen.Monitors[CaptureDisplay].Height;
VLScreenCapture1.Region.Mode := crmScreen;
VLScreenCapture1.ImageSize.Width := ClientWidth;
VLScreenCapture1.ImageSize.Height := ClientHeight;
VLScreenCapture1.Enabled := true;
VLScreenCapture1.Start;

But it's capturing the first display (0) instead of the second (1).

Am I missing something obvious? (Or not so obvious?)

Thanks

ted
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 2 Guest(s)