如何使用C#中的hook直接将多个屏幕截图保存到word文件中?

时间:2015-03-26 15:12:54

标签: c# visual-studio-2012 ms-word hook screen-capture

在开始之前,我对C#完全陌生,我的大部分编程知识来自于在Google上搜索我需要的东西。 :P我擅长复制粘贴,但具备基本的编程技能。

我正在使用Windows屏幕截图应用程序使用Print Scrn键(通过C#中的Hook)捕获屏幕。因此,此应用程序在启动时最小化,用户只需单击Print Scrn键即可捕获屏幕。

我的问题是我希望应用程序能够在后台的word文件中保存这些屏幕上限,以及当用户点击"结束"键应显示Word文件保存对话框(这样用户可以通过提供名称来保存word文件)。

我知道这有点棘手,但目前我们手动完成所有这些操作会耗费大量时间。打开Word->截图 - >导航到Word - >粘贴 - >导航到窗口 - >截图 - >再次导航到word - >粘贴.....

我希望你的帮助让痛苦......简单的拿屏幕帽 - >继续这样做直到完成 - >单击结束以保存文档。

我发现一部分代码要从堆栈溢出中使用Hook,我只需要一种在后台打开句柄文件的方法。

此外,我能够使用第三方.dll生成pdf文件 - 它生成带有水印的文档:(所以我认为我应该使用Word。

非常感谢您的帮助!干杯! :)

1 个答案:

答案 0 :(得分:0)

我实际上做了一个非常类似于此的应用程序,这就是我个人的想法:不要尝试挂钩键盘快捷键。我所做的是创建了一个系统托盘图标,如果您中间单击将启动捕获过程。

在分段步骤之间发送到Word以获取PDF是很奇怪的。使用iTextSharp库,您可以相对轻松地将图像添加到PDF。实际上有很多这样做的例子。

要查看的应用程序的现有模型是Windows中的Snipping Tool。使用.NET屏幕捕获整个屏幕并将其放置在覆盖整个屏幕的表单上并不难。然后,您可以使用光标选择表单的一部分。