sskodje/ScreenRecorderLib

Capture the pop out tab from window.

Closed this issue · 11 comments

I have a wpf application in which h have multiple tab and if I pop the tab out the pop out tab is not getting recorded.
Or if any popup is opened that is not getting recorded as that is different window I guess. can we fix this?

Yes, it's because it's a different window. I recommend recording the entire desktop, or a cropped desktop, in this scenario.

Actually the use case is we don't want to record full dekstop . So, will cropped desktop will not do full desktop recording?
And how we do it?

@sskodje can you please let me know how we can do cropped desktop recording?

@sskodje Thnks for the update. Can we also change the sourceRect dynamically?

Yes, using DynamicOptionsBuilder.

@sskodje I tried dynamicoption and it's working perfectly. thnks for the great work

Can we also record specific any two or three windows by passing the window handle or name?

Yes. If you want them next to the desktop (side by side) add WindowRecordingSource, if you want them overlayed, use WindowOverlay.

@sskodje can you help me with code snippet?

I tried but no succes.

Actually I am recording the screen using window handle but when I open the popup or dialogue box then j want to capture that screen as overlay or as side by side.
Please help me in this as I am stuck on this part.

I see. There are currently some limitations that is in the way for your use case. I'm working on a fix, but here is a workaround in the mean time.

The overlays need to be added before starting the recording, and the recording has to be started (RecordingStatus = Recording) before applying dynamic options. Unfortunately there is also missing a property from the overlay to disable it from the start. This means you need to add a WindowOverlay object with a valid window handle, with for example size 1x1px, listen for OnStatusChanged change, call

rec.GetDynamicOptionsBuilder()
.SetVideoCaptureEnabledForOverlay(MyOverlay.ID, false)
.Apply()

to disable overlay recording temporarily when status is Recording. Now the overlay lies dormant and can be used later. When you need it, update MyOverlay with the Window handle, size and other info you want, and call

rec.GetDynamicOptionsBuilder()
.SetUpdatedOverlay(MyOverlay)
.SetVideoCaptureEnabledForOverlay(MyOverlay.ID, true)
.Apply()

Added support for inserting overlays during a recording in progress with d016a24. Now you can simply call SetUpdatedOverlay() with a new overlay.