我正在制作一个屏幕截图应用程序,一切都很顺利.我需要做的就是捕获活动窗口并截取此活动窗口的屏幕截图.有谁知道我怎么做到这一点?
我正在尝试创建 Windows 服务应用程序来捕获屏幕。以前我在启动服务时遇到问题。无论如何,我能够解决它,现在我遇到了另一个问题。现在图像正在保存,但保存为黑屏。为此,在 SOF 中也有很多问题,但我无法解决我的问题。
这是我迄今为止尝试过的:
public partial class ScreenCaptureService : ServiceBase
{
private static Bitmap bmpScreenshot;
//private static Graphics gfxScreenshot;
System.Timers.Timer timer = new System.Timers.Timer();
public ScreenCaptureService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
TraceService();
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Interval = 60000;
timer.Enabled = true;
}
protected override void OnStop()
{
timer.Enabled = false;
TraceService();
}
private void TraceService()
{
Desktop userDesk = new Desktop();
userDesk.BeginInteraction();
string path = @"D:\Screen\";
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
string fileName …Run Code Online (Sandbox Code Playgroud) 我有一个获取屏幕截图的Windows服务.但它只创造了黑屏.我知道这是因为会话0隔离.我在互联网上搜索,无法找到任何批准的解决方案来解决这个问题,任何工作的想法都会非常好.
1-有没有办法更改Windows服务的会话并获取其他用户会话的桌面屏幕,如会话1,会话2?
2-有没有办法启动一个控制台应用程序,该应用程序在Windows服务的会话0以外的另一个会话中运行?