Vb.net 屏幕捕获代码在WinForms中运行正常,但不是作为服务运行
我想创建一个用于屏幕捕获的Windows服务,但它不起作用 进程到达Vb.net 屏幕捕获代码在WinForms中运行正常,但不是作为服务运行,vb.net,Vb.net,我想创建一个用于屏幕捕获的Windows服务,但它不起作用 进程到达ScrenCapture.Start(),但它什么也不做,也不会抛出错误 如果我在Windows窗体中进行测试,同样的代码也能正常工作: 代码: 可能会发生什么?您检查了事件日志吗?我检查了事件查看器,它没有任何错误。看起来您没有设置捕获设备。我对Expression编码器了解不够,无法判断这是否是问题所在-请查看此页面并向下滚动到“使用屏幕捕获”部分。这个例子是用c#编写的,但是你应该能够理解它。如果没有,请访问此站点并粘贴c
ScrenCapture.Start()
,但它什么也不做,也不会抛出错误
如果我在Windows窗体中进行测试,同样的代码也能正常工作:
代码:
可能会发生什么?您检查了事件日志吗?我检查了事件查看器,它没有任何错误。看起来您没有设置捕获设备。我对Expression编码器了解不够,无法判断这是否是问题所在-请查看此页面并向下滚动到“使用屏幕捕获”部分。这个例子是用c#编写的,但是你应该能够理解它。如果没有,请访问此站点并粘贴c#代码。你应该能搞定剩下的。好的,谢谢。我会查一下你的建议!
Imports Microsoft.Expression.Encoder.ScreenCapture
Imports isc.isc_utility
Public Class isc_utility_screen_capture
Dim ScrenCapture As ScreenCaptureJob = New ScreenCaptureJob()
Shared SrvDir As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location())
Function StartRecording(ByVal FileName As String)
Dim Dir = SrvDir
Dim FileToRecord As String
FileToRecord = Dir + "\" + FileName + ".wmv"
Try
ScrenCapture.OutputScreenCaptureFileName = FileToRecord
ScrenCapture.CaptureMouseCursor = True
ScrenCapture.Start()
WriteEventLogInformation("Capturing Video.... " + FileName + " " + Date.Now)
Return FileName
Catch ex As Exception
WriteEventLogError(ex.Message)
Return "-1"
End Try
End Function
Function StopRecording()
Try
ScrenCapture.Stop()
Return 1
Catch ex As Exception
WriteEventLogError(ex.Message)
Return -1
End Try
End Function
End Class