尽管锁定屏幕,仍可截取桌面屏幕截图?

尽管锁定屏幕,仍可截取桌面屏幕截图?

你知道如何截取 Windows桌面(和不是锁屏状态下如何恢复?

从技术上来说,这肯定是可行的,因为对于屏幕录制来说此解决方案即使在活动锁屏期间也可以记录选定的窗口。

还应该能够以编程方式触发屏幕截图(例如通过键盘快捷键和/或通过 CMD)。否则,任何解决方案都可以,无论是 Windows 或第三方工具、注册表黑客、脚本还是其他什么。

或者,您是否知道屏幕截图上不会显示的第三方锁屏?

答案1

您所问的问题是不可能的。当锁定屏幕处于屏幕上时,这是唯一可能被录制的屏幕。

你误读了傲软录功能描述。它肯定没有“即使在活动锁屏期间也能记录选定的窗口。”它所做的就是锁定录音区域,以便它在录音过程中无法移动。

答案2

简短回答:

是的你可以!

长答案:

至少从 2018 年开始,您就能够做到这一点。这并不是什么新鲜事!

有一种方法可以在 Windows 锁定时截取任何窗口的屏幕截图,即使用 AutoIt 脚本。我已经使用这种方法很多年了。AHK 可能也有类似的方法。以下是可用于截取任何窗口屏幕截图的 AutoIt 脚本的代码。

; #FUNCTION# ====================================================================================================================
; Author ........: Paul Campbell (PaulIA)
; Modified.......: chimp
;
; modified version of the _ScreenCapture_CaptureWnd() function
; It uses the _WinAPI_PrintWindow() to capture the window
; it should work also with screen locked
;                          -------------
; ===============================================================================================================================
Func _ScreenCapture_CaptureWnd_mod($sFilename, $hWin, $bCursor = True)
    Local $bRet = False

    Local $iSize = WinGetPos($hWin)

    Local $iW = $iSize[2]
    Local $iH = $iSize[3]
    Local $hWnd = _WinAPI_GetDesktopWindow()
    Local $hDDC = _WinAPI_GetDC($hWnd)
    Local $hCDC = _WinAPI_CreateCompatibleDC($hDDC)
    Local $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iW, $iH)

    ; $hCDC Identifies the device context
    ; $hBMP Identifies the object to be selected
    _WinAPI_SelectObject($hCDC, $hBMP)
    _WinAPI_PrintWindow($hWin, $hCDC)

    If $bCursor Then
        Local $aCursor = _WinAPI_GetCursorInfo()
        If Not @error And $aCursor[1] Then
            $bCursor = True ; Cursor info was found.
            Local $hIcon = _WinAPI_CopyIcon($aCursor[2])
            Local $aIcon = _WinAPI_GetIconInfo($hIcon)
            If Not @error Then
                _WinAPI_DeleteObject($aIcon[4]) ; delete bitmap mask return by _WinAPI_GetIconInfo()
                If $aIcon[5] <> 0 Then _WinAPI_DeleteObject($aIcon[5]) ; delete bitmap hbmColor return by _WinAPI_GetIconInfo()
                _WinAPI_DrawIcon($hCDC, $aCursor[3] - $aIcon[2] - $iSize[0], $aCursor[4] - $aIcon[3] - $iSize[1], $hIcon)
            EndIf
            _WinAPI_DestroyIcon($hIcon)
        EndIf
    EndIf

    _WinAPI_ReleaseDC($hWnd, $hDDC)
    _WinAPI_DeleteDC($hCDC)
    If $sFilename = "" Then Return $hBMP

    $bRet = _ScreenCapture_SaveImage($sFilename, $hBMP, True)
    Return SetError(@error, @extended, $bRet)
EndFunc   ;==>_ScreenCapture_CaptureWnd_mod

_ScreenCapture_CaptureWnd_mod函数只需要文件名和所需应用程序的窗口处理程序。示例和讨论可以在本文末尾提供的源链接中找到。

来源:计算机锁定时截取屏幕截图

相关内容