.net - 如何在 dotnet 上以编程方式截取屏幕截图并通过电子邮件发送

标签 .net .net-2.0 outlook screenshot attachment

背景:

我正在开发一个业务应用程序,在最后阶段我们遇到了一些额外的错误,主要是与连接和一些边缘用例有关。

对于这种异常,我们现在提供了一个包含错误详细信息的漂亮对话框,用户可以对其进行屏幕截图,并通过电子邮件发送并附上一些备注。

问题:

我想提供更好的体验,并在同一对话框中提供一个按钮,单击该按钮后,将打开 Outlook 并准备电子邮件,并附上屏幕截图作为附件,也许还有一个日志文件,然后用户可以添加备注并按发送按钮。

问题:

如何以编程方式截取此屏幕截图,然后将其作为附件添加到 Outlook 邮件中?

备注:

该应用采用 Microsoft .Net Framework 2.0、C# 或 VB 版本

最佳答案

首先,要发送屏幕截图,可以使用以下代码:

//Will contain screenshot
Bitmap screenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
Graphics screenshotGraphics = Graphics.FromImage(bmpScreenshot);
//Make the screenshot
screenshotGraphics.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
screenshot.save("a place to temporarily save the file", ImageFormat.Png);

要通过outlook发送邮件,您可以使用here描述的方法

关于.net - 如何在 dotnet 上以编程方式截取屏幕截图并通过电子邮件发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1080069/

相关文章:

.net - IO.Compression 有问题吗?

c# - 将站点从 .net 2.0 升级到 3.5 的问题

c# - 将应用程序从 .NET 2.0 转换为 4.5.1 时出现运行时错误

asp.net - 如何在 ASP.NET 中动态生成列表项到无序列表?

Outlook 自动化 - 更改发件人帐户

.net - 对 XElement 进行排序

c# - 等效于 InsertonSubmit 的 Entity Framework

Outlook 2007 延迟电子邮件时间戳显示创建时间

c# - 使用 C# 将数据表转换为分层数据结构 (JSON)

c# - Outlook 文件夹浏览对话框?