我從他們的窗口句柄(hwnd)屏幕捕獲應用程序窗口,並使用GetWindowDC
獲取設備上下文,我可以使用它來捕獲整個窗口,頂級菜單和滾動條。如何獲取窗口,子菜單和上下文菜單的設備上下文?
HDC hdcWindow = GetWindowDC(hwnd);
HDC hdcMemDC = CreateCompatibleDC(hdcWindow); // or hdcScreen
當我打開一個子菜單例如記事本左上角的文件菜單,該菜單不被捕獲。它似乎並未包含在設備上下文中。有沒有一種方法可以獲取應用程序窗口中的所有設備上下文?
您需要獲得顯示DC(GetDC(NULL)),然後BitBlt窗口矩形 –
@AlexK。從技術上講,彈出菜單可以延伸到窗口矩形之外... –
嗨,亞歷克斯,這工作得很好,謝謝。 – Anton