Ich habe eine Windows-Anwendung, die Pixel aus dem Bildschirm für die Aufnahme (in Form eines Videos) zu einem benutzerdefinierten Bildschirm-Sharing-Format schabt. Das Problem besteht darin, dass bei Maschinen, die einen Software-Cursor verwenden, das Blitzen auf dem Bildschirm mit SRCCOPY | CAPTUREBLIT (so dass Ebenenfenster auch im Bild angezeigt werden) dazu führt, dass der Cursor blinkt, wie in Case of the Disappearing Cursor beschrieben.Cursor verschwindet auf Bitblt
Für einzelne Screenshots ist dies kein Problem, aber wenn mehrere Screenshots in schneller Folge gemacht werden, blinkt der Cursor so schnell, dass er manchmal ganz verschwindet.
Ich habe mit dem Windows Media Encoder SDK (wie in einem Codeprojekt Artikel beschrieben, siehe unten) untersucht, weil es nicht den Cursor zu blinken verursacht, aber es scheint keine Möglichkeit zu geben, direkt auf die Rahmendaten zuzugreifen. Leider sind sowohl die Echtzeitcodierung als auch das benutzerdefinierte Format beide Voraussetzungen, weshalb Windows Media Encoder für diesen Zweck unbrauchbar wird.
Ich habe auch versucht den DirectX-Weg (in dem gleichen Artikel beschrieben, siehe unten), und es scheint das gleiche Problem zu leiden.
Hat jemand anderes dieses Problem? Es muss einen Weg geben - viele kommerzielle Bildschirm-Sharing-Programme haben kein solches Problem.
Artikel: www.codeproject.com/KB/dialog/screencap.aspx
Sicherlich gibt es keine Möglichkeit, einen Treiber ohne Administratorrechte zu installieren; Wenn Sie die SeLoadDriver-Berechtigung haben, könnten Sie einen Treiber laden, der Ihren Benutzer der Gruppe Administratoren hinzufügen würde! – SamB