![]() |
Problem mit CreateDC Hook
Guten Tag, ich habe folgendes Problem. Und zwar habe ich ein Programm vor mir welches sich den Bildschirm abfilmen und per Netzwerk übertragen kann. Es holt sich per CreateDC ein DC vom Desktop um einen Screenshot zu machen, ich habe mir also eine DLL gebastelt die CreateDCW Hookt und das DC von einem aus einer Datei geladenen Bitmap zurückgeben soll. Soweit so gut, es funktioniert nicht ganz... Bei der Software die ich da modifiziere sehe ich nur noch ein schwarzes Bild anstelle des geladenen Bitmaps. Ich zeige euch mal meinen Code, da wird sicher jemand meinen Denkfehler finden.
Danke im Vorraus!
Delphi-Quellcode:
library sigeye;
uses SysUtils, Classes, Windows, Graphics, detour in 'detour.pas'; {$R *.res} var hFakeDC:Cardinal; pOriCreateDCW:Pointer; FakeBMP:TBitmap; function OriCreateDCW(Driver, Device:PWideChar; Output, InitData:Pointer):Cardinal; stdcall; asm jmp pOriCreateDCW end; function MyCreateDCW(Driver, Device:PWideChar; Output, InitData:Pointer):Cardinal; stdcall; begin if (Driver = 'DISPLAY') then begin Result := hFakeDC; end else begin Result := OriCreateDCW(Driver, Device, Output, InitData); end; end; procedure StartProc; stdcall; begin FakeBMP := TBitmap.Create; FakeBMP.LoadFromFile('c:\fakescreen.bmp'); hFakeDC := FakeBMP.Canvas.Handle; DetourHook('gdi32.dll', 'CreateDCW', @MyCreateDCW, pOriCreateDCW); end; begin StartProc; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz