@@ -42,6 +42,7 @@ public partial class MainForm : Form, IMessageFilter
4242 private bool _refreshImage ;
4343 private bool _imageTab ;
4444 private bool _isRecording ;
45+ private bool _captureCursor ;
4546 private DateTime ? _startRecordingTime ;
4647 private VideoFileWriter _videoWriter ;
4748 private Bitmap _image ;
@@ -70,6 +71,7 @@ public MainForm()
7071 _videoFileName = Path . Combine ( AssemblyUtils . AssemblyDirectory , DEFAULT_VIDEO_FILE_NAME ) ;
7172 _windowHandle = IntPtr . Zero ;
7273 _refreshImage = true ;
74+ _captureCursor = true ;
7375 _imageTab = false ;
7476 _isRecording = false ;
7577 _startRecordingTime = null ;
@@ -78,6 +80,7 @@ public MainForm()
7880 numericFps . Value = DEFAULT_FPS ;
7981 numericScale . Value = DEFAULT_SCALE ;
8082 cmbRefresh . SelectedIndex = 0 ;
83+ cmbCaptureCursor . SelectedIndex = 0 ;
8184 _image = null ;
8285 _videoWriter = new VideoFileWriter ( ) ;
8386 }
@@ -340,6 +343,7 @@ private void btnRecord_Click(object sender, EventArgs e)
340343 btnTarget . Enabled = ! isRecording ;
341344 btnShowHide . Enabled = ! isRecording ;
342345 cmbRefresh . Enabled = ! isRecording ;
346+ cmbCaptureCursor . Enabled = ! isRecording ;
343347 btnBrowseFile . Enabled = ! isRecording ;
344348 numericFps . Enabled = ! isRecording ;
345349 numericScale . Enabled = ! isRecording ;
@@ -390,6 +394,14 @@ private void cmbRefresh_SelectedIndexChanged(object sender, EventArgs e)
390394 }
391395 }
392396
397+ private void cmbCaptureCursor_SelectedIndexChanged ( object sender , EventArgs e )
398+ {
399+ lock ( _lockObject )
400+ {
401+ _captureCursor = ( ( ComboBox ) sender ) . SelectedIndex == 0 ;
402+ }
403+ }
404+
393405 private void tabContent_SelectedIndexChanged ( object sender , EventArgs e )
394406 {
395407 lock ( _lockObject )
@@ -468,19 +480,21 @@ public bool PreFilterMessage(ref Message m)
468480 txtContent . Text = text == null ? "" : text . TrimEnd ( ) . TrimEnd ( Environment . NewLine ) ;
469481 txtContent . ScrollTextToEnd ( ) ;
470482 var scale = 1m ;
483+ var captureCursor = false ;
471484 lock ( _lockObject )
472485 {
473486 _windowHandle = windowHandle ;
474487 scale = _scale ;
488+ captureCursor = _captureCursor ;
475489 }
476490 if ( scale == 1m )
477491 {
478- var newImage = WindowUtils . CaptureWindow ( windowHandle ) ;
492+ var newImage = WindowUtils . CaptureWindow ( windowHandle , captureCursor ) ;
479493 FillImage ( newImage ) ;
480494 }
481495 else
482496 {
483- using ( var image = WindowUtils . CaptureWindow ( windowHandle ) )
497+ using ( var image = WindowUtils . CaptureWindow ( windowHandle , captureCursor ) )
484498 {
485499 var newImage = ImageUtils . ResizeImage ( image , ( int ) ( image . Width * scale ) , ( int ) ( image . Height * scale ) ) ;
486500 FillImage ( newImage ) ;
@@ -525,13 +539,16 @@ private void CaptureWindowCallback()
525539 var windowHandle = IntPtr . Zero ;
526540 var imageTab = false ;
527541 var isRecording = false ;
542+ var captureCursor = false ;
543+
528544
529545 lock ( _lockObject )
530546 {
531547 scale = _scale ;
532548 windowHandle = _windowHandle ;
533549 imageTab = _imageTab ;
534550 isRecording = _isRecording ;
551+ captureCursor = _captureCursor ;
535552 }
536553
537554 var newImage = ( Bitmap ) null ;
@@ -542,11 +559,11 @@ private void CaptureWindowCallback()
542559 {
543560 if ( scale == 1m )
544561 {
545- newImage = WindowUtils . CaptureWindow ( windowHandle ) ;
562+ newImage = WindowUtils . CaptureWindow ( windowHandle , captureCursor ) ;
546563 }
547564 else
548565 {
549- using ( var sourceImage = WindowUtils . CaptureWindow ( windowHandle ) )
566+ using ( var sourceImage = WindowUtils . CaptureWindow ( windowHandle , captureCursor ) )
550567 {
551568 newImage = ImageUtils . ResizeImage ( sourceImage , ( int ) ( sourceImage . Width * scale ) , ( int ) ( sourceImage . Height * scale ) ) ;
552569 }
@@ -652,6 +669,8 @@ private void EnableImageTabControls()
652669 btnRecord . Visible = _imageTab && btnShowHide . Visible ;
653670 lblRefresh . Visible = _imageTab && btnShowHide . Visible ;
654671 cmbRefresh . Visible = _imageTab && btnShowHide . Visible ;
672+ lblCaptureCursor . Visible = _imageTab && btnShowHide . Visible ;
673+ cmbCaptureCursor . Visible = _imageTab && btnShowHide . Visible ;
655674 lblFps . Visible = _imageTab && btnShowHide . Visible ;
656675 numericFps . Visible = _imageTab && btnShowHide . Visible ;
657676 lblScale . Visible = _imageTab && btnShowHide . Visible ;
0 commit comments