Winapi 如何在显示器断开连接(无头)时捕获窗口屏幕?

Winapi 如何在显示器断开连接(无头)时捕获窗口屏幕?,winapi,directx,screenshot,Winapi,Directx,Screenshot,我的应用程序在虚拟机上运行,每一分钟都有一个窗口。它给出了空白屏幕截图。使用下面的代码进行相同的操作 HWND hWndCapture = ::GetDesktopWindow(); HDC hdcScreen = ::GetDC(hWndCapture); HDC hdcMem = ::CreateCompatibleDC(hdcScreen); ::BitBlt( hdcMem, 0, 0, Wid

我的应用程序在虚拟机上运行,每一分钟都有一个窗口。它给出了空白屏幕截图。使用下面的代码进行相同的操作

HWND    hWndCapture     = ::GetDesktopWindow();
HDC     hdcScreen       = ::GetDC(hWndCapture);
HDC     hdcMem          = ::CreateCompatibleDC(hdcScreen);

::BitBlt(
    hdcMem,
    0,
    0,
    Width, //width of region of interest
    Height, //height of region of interest
    hdcScreen,
    X, //left staring point for capture
    Y, //top staring point for capture
    SRCCOPY);
DirectX在无头模式下是否能提供正确的屏幕截图

微软是否为无头屏幕捕获提供任何内核级API

有没有其他方法可以取下窗户的屏风

谢谢


Mahen

你确定那是C#吗?奇怪的C#最后我想从C#调用这个API。目前我用VC++制作了这个POC。因此,我为C#添加了一个标记。如果你认为它不相关,那么我删除它。你使用的是C,所以问题应该标记为C。。。你确定这就是你想要的吗?