我尝试了很多(超过 25 个应用程序)声称可以将 ScreenShot 保存到文件中。
他们做到了,但做得不好。
您可以尝试这个简单的逐步测试:
- 如果其中任何一个都没有活动,请按 Alt+Printscreen 拍摄快照
- 将剪贴板图像粘贴到绘画应用程序(Paint.Net 可以)上作为图层
- 在其中一个此类应用程序(屏幕截图)处于活动状态时,按 Alt+Printscreen 拍摄快照,以便将其保存为 PNG 或所需的任何松散格式
- 现在打开保存的文件并查看像素大小,将其与您在步骤 1 和 2 中获得的大小进行比较,惊讶:它们不匹配!
当窗口边框不是(我将使用 Delphi 常量名称)“bsSizeable”,如果它是“bsDialog”,“bstoolWindow”等时,最糟糕的情况也是,大多数使用 snapshops 的应用程序会丢失左侧和顶部的某些部分窗户的;就像他们在哪里种植一样。
所以,我必须问:
是否有任何应用程序可以捕获 Alt+Printscreen 以自动保存剪贴板?而不是他们自己制作屏幕截图!
换句话说,当我不使用任何工具时,我会在剪贴板上粘贴正确的大小/区域,但是当使用应用程序使屏幕截图更容易时,对于某些类型的窗口,我会在窗口边框周围获得更多像素,或者最糟糕的是,丢失了部分窗户。
所有这些应用程序都有这个问题,并且在它们上很容易看到它(还有很多问题,但我把最知名/最受欢迎的应用程序按字母顺序排列):Cropper 1.9.4,FSCaptureSetup53 , GreenShot, Lightscreen, PrtScrAssistant, ScreenshotCaptor, ...等。
顺便说一句,他们为什么要自己制作屏幕截图?当按下 Alt+Printscreen 时(没有任何钩子,没有运行屏幕捕获应用程序等),Windows 将正确的区域放在剪贴板上;但是当任何此类应用程序正在运行时,剪贴板/文件/等会得到一个不正确的区域。
请注意,我说的是“标准”窗口,没有主题,都带有矩形边框,没有个人 GUI,等等...... Windows 标准形式。
某些应用程序会在窗口的矩形边框周围放置一个额外的边距。其他应用程序,切掉了矩形窗口的一部分,所以有些部分丢失了,以至于标题标题的第一个字母(当没有显示系统菜单图标时)丢失了。
哪一个能像 Windows 标准的 Alt+Printscreen 一样工作(保存相同的区域)?我还不知道任何人,那时我测试的所有东西都失败了。
我知道的唯一解决方案是让 Paint.Net 打开并使用:
- Alt+打印屏幕
- Alt+Tad 转到 Paint.Net
- Ctrl+Alt+V 粘贴为新图像
- Ctrl+S 保存(它要求输入路径、名称和类型等)
在我尝试过的所有应用程序中,其中一些不会自动保存为 PNG;大多数创建PNG的保存错误区域(有些区域较大,有些区域不足);总是谈论拍摄标准矩形窗口的快照。
测试平台:Windows XP、7、8、8.1 和 10
PD:如果您不是可以为您的表单设置 BorderStyle 和 BorderIcons 的开发人员,请尝试使用任何显示不可调整大小的工具窗口、对话框等的应用程序......很容易看出做 windows 屏幕截图之间的区别windows,然后将结果粘贴到任何可以自动保存的应用程序中;记住你需要使用 Alt+PrintScreen(只需要活动矩形窗口的区域,不多也不少)。