Ich habe ein wenig Code, um den Inhalt der Windows-Desktop-App zu erfassen und in einem Bitmap-Objekt in .NET zu speichern. Es verwendet User32.dll und Gdi32.dll (BitBlt) und funktioniert gut. Der Code erzeugt jedoch schwarze Bitmaps, wenn ich dem Code einen Punkt für ein Fenster gebe, das eine Windows Store-App enthält. Ich bin mir nicht sicher, ob dies ein Sicherheitsmerkmal ist oder was. Ich kann die ScreenCapture API nicht verwenden, da der Inhalt des Fensters nach der Größenanpassung fast immer größer/größer als der Bildschirm ist. Hat jemand Glück gehabt, Fensterinhalte zu erfassen, selbst wenn sie größer als der Bildschirm sind, für eine Windows Store App?So erfassen Sie den Fensterinhalt einer Windows Store App in C#
EDIT: Genau wie eine Notiz versuche ich ein anderes Programm Fenster zu erfassen, nicht mein eigenes Programm. Mein Programm kann als eine Windows-Konsole-Anwendung in .NET 4.6.1/C#
angenommen werden Auch weiß ich, dass dies irgendwie in Windows-APIs möglich sein muss, da die Aero Peek-Funktion, wenn Sie den Mauszeiger über die Taskleiste bewegen Auf dem Symbol des laufenden Programms wird die gesamte Höhe des Fensters einschließlich der Offscreen-Komponenten angezeigt. (Siehe hohen Fenster auf der rechten Seite, auf 6000px viel höher als meine Anzeige)
Ich kann nicht in der Nähe als Duplikat wegen der Prämie, aber haben Sie gesehen: [Aufnahme-Bildschirm von Windows Store App] (http://stackoverflow.com/questions/15883332/capture-screen-of -windows-store-app) –
Besitzen Sie diese App? Weil im Allgemeinen, wenn eine App Teile außerhalb des Bildschirms hat, kann nichts garantieren, dass das, was außerhalb des Bildschirms ist, physisch gerendert werden kann. Im allgemeinen Fall können Sie nur erfassen, was auf dem Bildschirm angezeigt wird (z. B. mit graphics.CopyFromScreen). –
Nein, ich besitze die App nicht. Ich versuche, die Windows Store App über eine in .NET 4.6.1 geschriebene Konsolenanwendung zu erfassen. – Richthofen