可能重复:
我如何在位图中捕获屏幕?
我需要制作一个应用程序,只要按下特定按钮就可以捕获当前屏幕的快照.
我搜索了很多,但我只找到了如何捕获当前窗口.
你能帮我弄清楚如何在.NET中做到这一点吗?
我们可以通过点击打印屏幕并使用油漆保存图像来手动执行此操作.我需要做同样的事情,但我想用一个程序来做.
我想使用selenium c#捕获下拉列表中显示的选项的屏幕截图,就像下面显示的图像一样.
我尝试了多种方法来截取屏幕截图.基本上我要扩展元素的下拉列表以捕获屏幕截图.这就是我所做的
//#1
var element = Driver.FindElement(By.Id("carsId"));
Actions builder = new Actions(Driver);
builder.SendKeys(element, Keys.LeftAlt + Keys.Down).Build().Perform();
//#2
Actions act = new Actions(Driver);
act.MoveToElement(element).Build().Perform();
Run Code Online (Sandbox Code Playgroud)
当我在网站上完成但没有通过selenium工作时,按下Alt+ Down键的第一个实现工作.第二个实现也不起作用.我也试过builder.ClickAndHold()方法.
我在这里还有另一个问题.是否真的有可能硒点击并扩展一段时间,直到抓住屏幕?
任何帮助将不胜感激.
我试图在WinForms应用程序中检测是否由于操作系统具有高DPI而以缩放/虚拟化模式启动.目前,在运行速度为3840x2400且缩放率为200%的系统中,应用程序将分辨率视为1920x1200,DPI视为96,比例因子为1.
我们正在使应用程序支持DPI,但在此之前,我们需要一个"快速修复",以便我们检测是否缩放.这样做的原因是它破坏了截取屏幕截图的应用程序中的功能.我们使用Graphics.CopyFromScreen中的缩放尺寸,它采用了错误尺寸的屏幕截图,因为它期望非缩放尺寸.
我知道DPI感知设置,但目前我们仍然希望缩放应用程序,但是如果可能的话,能够检测到我们是否已缩放并获得非缩放尺寸.
我正在为一家汽车公司开发一个反馈系统.在计费台上,有一个双显示器设置:一个用于计费人员,另一个用于提供反馈的客户.我需要在两个屏幕上复制Windows表单,作为镜像,以便计费人员可以看到客户给出的反馈.
我使用下面的代码在辅助屏幕上显示:
Screen[] sc;
Form f = new Form();
sc = Screen.AllScreens;
f.FormBorderStyle = FormBorderStyle.None;
f.Left = sc[1].Bounds.Left;
f.Top = sc[1].Bounds.Top;
f.Height = sc[1].Bounds.Height;
f.Width = sc[1].Bounds.Width;
f.StartPosition = FormStartPosition.Manual;
f.Show();
Run Code Online (Sandbox Code Playgroud)
但是,它不会镜像主屏幕上的表单.我还提到了重复的窗口问题,但它会为同一个窗体创建不同的实例,这些实例不会镜像Windows窗体.如何在两个屏幕上镜像?
我想知道是否有一种方法可以使用控制台应用程序截取您的桌面,而无需调用Windows.Forms并调用SendKeys该类。
因为我刚刚创建了一个编译器,它只能编译纯 C# 控制台应用程序,如果添加引用它不起作用,因为它会给你一些错误请参阅此链接(我的问题与 codeproject 的答案),我想创建一个控制台应用程序,可以在我想要的时候截取屏幕截图。