Also generell solltest Du so vorgehen:
- Ermitteln aller Threads des Zielprozesses über die Prozess-Id mit den ToolHelp-Funktionen (CreateToolHelp32SnapShot, Thread32First, Thread32Next)
- Ermitteln aller Fenster jedes Threads sowie deren Sichtbarkeit über EnumThreadWindows
- Den Devicecontext des Fensters holen, den Inhalt in ein Bitmap kopieren und den Context wieder freigeben. Alternativ kannst Du die Funktion PrintWindow verwenden, um sich das Fenster selber in das Bitmap-Canvas-Handle zeichnen zu lassen