標籤:style blog http color io os ar sp div
在日常開發中,我們會經常遇到螢幕錄製的需求。在C#中可以通過Expression Encoder的SDK實現這樣的需求。首先需要下載Expression Encoder SDK,實現代碼:
private ScreenCaptureJob job = null; public MainWindow() { InitializeComponent(); job = new ScreenCaptureJob(); job.CaptureMouseCursor = false; } private void BtnPlay_Click(object sender, RoutedEventArgs e) { BtnPause.IsEnabled = true; BtnStop.IsEnabled = true; BtnPlay.IsEnabled = false; if(job.Status == RecordStatus.NotStarted) { job.CaptureRectangle = Screen.PrimaryScreen.WorkingArea; job.OutputPath = "D:/ScreenCapture"; } job.Start(); } private void BtnPause_Click(object sender, RoutedEventArgs e) { BtnPlay.IsEnabled = true; BtnPause.IsEnabled = false; job.Pause(); } private void BtnStop_Click(object sender, RoutedEventArgs e) { BtnPlay.IsEnabled = true; BtnPause.IsEnabled = false; BtnStop.IsEnabled = false; job.Stop(); } private void OnClosing(object sender, System.ComponentModel.CancelEventArgs e) { if (job.Status == RecordStatus.Running) { MessageBoxResult result = System.Windows.MessageBox.Show("Capturing in Progress. Are You Sure You Want To Quit?", "Capturing", MessageBoxButton.YesNo); if (result == MessageBoxResult.No) { e.Cancel = true; return; } job.Stop(); job.Dispose(); } }
參考文檔:http://msdn.microsoft.com/en-us/library/gg602440(v=expression.40).aspx
代碼下載.
如果你對這個例子有疑問,歡迎在評論中指出;如果有其他實現方法,也歡迎你與我分享。謝謝!
C# 與 Microsoft Expression Encoder實現螢幕錄製