捕获上下文菜单的窗口(Alt-Print Screen)

37
众所周知,有时候开发人员需要记录一些东西,或者为了提交错误报告而收集一些信息。
我的问题是关于 MS Windows 的。
我正在尝试捕获应用程序的几个区域的上下文菜单(右键单击某个项目后出现的弹出菜单)。按下 Alt 开始 Alt+PrintScreen 进程会关闭上下文菜单。(只按下 PrintScreen 可以帮助解决问题,但每次需要删除非窗口区域很麻烦)。
额外提示:对于捕获菜单,Alt 也会关闭菜单。但是,如果您使用 Alt 键打开菜单,那么这个技巧可行:
  1. 按下 Alt+F(用于打开“文件”菜单),不要释放 Alt
  2. 按下 PrintScreen
  3. 完成!
25个回答

1

我无法让被接受的答案起作用(即使禁用高对比度),但是这样做可以:

  1. 右键点击上下文菜单(显然),使用箭头键,如果要突出显示特定条目(这样它就不会关闭)
  2. 按下 Ctrl + PrintScreen
  3. 你已经将整个屏幕(s)包括上下文菜单复制到剪贴板中。

(唯一的区别是不按 F10 或 alt 键)


1
在Windows 7中:
  1. 左键单击要捕获右键菜单的文件夹。
  2. 按住 Shift+F10
  3. 按下 PrintScreen 按钮。
  4. 如有需要,使用系统提供的截图工具裁剪图片。

1

这篇文章是对Microsoft答案网站上回答Windows 7+用户的更新。

如何右键截屏?

如果你使用内置的“剪切工具”(在开始菜单中找到它),你可以截取一个菜单:

  • 打开剪切工具后,按Esc取消当前截图,然后打开要捕捉的菜单。
  • Ctrl+PrtScn
  • 单击New按钮旁边的箭头,从列表中选择自由形式截图矩形截图窗口截图全屏截图,然后选择你想要捕捉的屏幕区域。

1
作为对“BONUS”部分的回应,有时候我只想捕捉菜单中“下拉列表”的内容(可能我没有使用准确的术语)。现在,由于功能区已经在许多应用程序中取代了菜单,要从功能区(例如Excel、主页、查找和选择)捕获“下拉列表”,请执行以下操作:
  • 单击Excel功能区:主页、查找和选择(“下拉列表”应该出现)
  • 将鼠标移动到要选择/突出显示的项目上
  • 按住Ctrl
  • 按住Alt
  • 按下PrintScreen
  • 释放所有按键
  • 将捕获的功能区“下拉列表”框粘贴到所需位置

这也会捕捉所选项目的高亮显示。

这对我在Win7、Office 2010上有效。


1

你可以使用截图工具(免费)。

你可以使用Windows对象捕获来仅抓取上下文菜单(也适用于菜单捕获),或者使用普通的打印屏幕键来捕获整个屏幕。

-mouser

[免责声明 - 我是截图工具的作者]


1

我尝试了我的最爱、免费的屏幕截图软件:MWSnap。我激活了一个热键(Ctrl + Shift + Z)来进行窗口/菜单捕获,当它在后台时,我调用Firefox上这个页面的上下文菜单并使用了这个快捷键。MWSnap突出显示了菜单,在点击后无缺陷地捕获了它。

可能适用于其他屏幕截图软件。PrintScreen已经过时了... :-P

(奖励:不需要打开画图工具,可以保存为任何您想要的常见格式(PNG,Jpeg),如果需要,还可以自动保存和自动编号)


0
如果您想轻松打印菜单和子菜单 简单的步骤! 在W10上按Ctrl + Fn + PrntScrn 粘贴到Paint或Wordpad中

0

关于捕获上下文菜单,例如右键菜单或按Alt键会导致菜单消失的其他菜单,在Windows 7上至少可以查看以下内容: http://blogs.technet.com/b/migreene/archive/2007/05/12/how-to-use-the-snipping-tool-to-capture-context-menus.aspx,以及Uwa在那里的评论。

基本上,打开Snipping Tool(应该内置于Windows 7中,并可通过“开始”菜单搜索),然后单击“取消”按钮,但不要关闭Snipping Tool。然后打开上下文菜单并按(在桌面键盘上)Ctrl + PrintScreen。这将切换回Snipping Tool,在那里您可以在捕获之前选择选项,但保持上下文菜单打开。

使用Snipping Tool,您可以捕获全屏、窗口、矩形或自由形状截图。如果您只想捕获上下文菜单而不是父窗口,则矩形截图可能最适合您的需求。


0

我使用更简单的按键序列(适用于主菜单,而不是上下文菜单):

  1. 按住 Alt 键显示菜单
  2. 使用鼠标或光标显示我想要截图的菜单
  3. 按住 Shift
  4. 按下并释放 PrintScreen
  5. 现在您可以释放 ShiftAlt 键。

对于上下文菜单,我使用以下序列:

  1. 显示上下文菜单
  2. 使用鼠标或光标显示我想要截图的菜单
  3. 按住 Shift
  4. 按下并释放 PrintScreen
  5. 现在您可以释放 ShiftAlt 键。

在 Windows 10 上测试通过。


0

我曾经尝试了很多(超过25个)声称可以将屏幕截图保存到文件的应用程序。

虽然它们能够实现这一点,但并不完美。

您可以尝试以下简单的逐步测试:

  1. 在它们之外没有任何应用程序处于活动状态时,按下Alt+PrintScreen进行截屏
  2. 将剪贴板图像作为图层粘贴到绘画应用程序中(Paint.Net可能很好)
  3. 使用其中一个此类应用程序(截图)处于活动状态时,按下Alt+PrintScreen进行截屏,以便它保存为所需的PNG或其他无损格式
  4. 现在打开保存的文件,并查看像素大小,将其与步骤1和2中得到的大小进行比较,惊讶:它们不匹配!

当窗口边框不是(我将使用Delphi常量名称)“bsSizeable”时,情况会更糟,如果它是“bsDialog”,“bstoolWindow”等,则大多数拍摄快照的应用程序会失去左侧和顶部窗口的一部分;就像它们正在裁剪一样。

因此,我必须问:

是否有任何应用程序可以捕获Alt+PrintScreen并自动保存剪贴板?而不是它们自己创建截图!

换句话说,当我不使用任何工具时,剪贴板上粘贴的大小/区域是正确的,但是当使用应用程序来使截图更容易时,某些窗口会在窗口边框周围获得更多像素,或者更糟糕的是,丢失窗口的一部分。
所有这些应用程序都有这个问题,在它们上面很容易看到它(有很多其他应用程序也有这个问题,但我按字母顺序列出了最知名/最流行的应用程序):Cropper 1.9.4、FSCaptureSetup53、GreenShot、Lightscreen、PrtScrAssistant、ScreenshotCaptor等等。
顺便说一下,为什么他们要自己制作屏幕截图?当按下Alt+Printscreen键(没有任何钩子,没有运行任何屏幕捕捉应用程序等)时,Windows会将正确的区域放在剪贴板上;但是当运行任何此类应用程序时,剪贴板/文件/等获取不正确的区域。
请注意,我正在谈论“标准”窗口,没有主题,全部都是带矩形边框的,没有个人GUI等...标准窗体。
有些应用程序会在窗口的矩形边框周围放置额外的边距。 其他应用程序会剪切矩形窗口的一部分,因此一些部分会丢失,以至于标题标题的第一个字母(当没有显示系统菜单图标时)会丢失。

哪个软件可以像Windows标准的Alt+Printscreen一样工作(保存相同区域)?我还不知道有哪个软件可以做到,我测试过的所有软件都在这一点上失败了。

唯一的解决方案是打开Paint.Net并使用以下步骤:

  1. 按下Alt+Printscreen
  2. 按下Alt+Tab切换到Paint.Net
  3. 按下Ctrl+Alt+V粘贴为新图像
  4. 按下Ctrl+S保存(它会要求输入路径、名称和类型等信息)

在我尝试过的所有应用程序中,有些应用程序不能自动保存为PNG格式;大多数创建PNG格式的应用程序保存错误的区域(一些区域太大,一些区域不足);总是谈论如何拍摄标准矩形窗口的快照。

测试环境:Windows XP、7、8、8.1和10

附注:如果您不是可以为窗体设置BorderStyle和BorderIcons的开发人员,请尝试使用任何显示不可调整大小的工具窗口、对话框等应用程序...这真的很容易看出在Windows上通过窗口截图然后粘贴结果与任何这些可以自动保存的应用程序之间的区别;请记住,您需要使用Alt+PrintScreen(只需所需的活动矩形窗口区域,不多也不少)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接