Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Screenshot unter DirectX 11 Windows 7/64 Bit

  Alt 28. Apr 2010, 15:40
Auch das wird bei Overlays (was u.a. DirectX teilweise nutzt) nicht immer zum gewünschten Ergebnis führen. Man muss einfach bedenken, dass Windows an und für sich im Normalfall überhaupt keine Kenne von dem Dargestellten hat, da es an sämtlichen "normalen" APIs für die Anzeige vorbei geführt wird, und in der Folge DirectX->Treiber->Hardware kommuniziert wird, nicht wie sonst WinAPI->GDI->HAL->Treiber->Hardware. Wenn man nun also Ergebnisse aus WinAPI/GDI Calls bekommt, liegt das nur daran, dass irgendwo mitten drin Spiel oder Windows selbst irgendwo auf diese zurückgegriffen haben.

Ein Beispiel: Ich habe von World of Warcraft mit der DC(0)-Methode problemlos Screenshots machen können - solange es im Windowed-Mode lief! Sobald es in Vollbild war, sind offenbar ein paar Umwege über die WinAPI weg gefallen, und alles was dann noch kam war schwarz, oder manchmal irgendwelche Reste die noch im Framebuffer rumlagen.

Daher: Der einzig sicher zum Ziel führende Weg ist das Hooking. Alles was irgendwie über "normale" Windows-Calls läuft kann klappen, wird es aber nicht immer bzw. selten.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat