AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit CreateDC Hook

Ein Thema von gORDon_vdLg · begonnen am 11. Jun 2011
Antwort Antwort
Benutzerbild von gORDon_vdLg
gORDon_vdLg

Registriert seit: 7. Nov 2009
26 Beiträge
 
Delphi XE Architect
 
#1

Problem mit CreateDC Hook

  Alt 11. Jun 2011, 18:50
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.

Geändert von gORDon_vdLg (11. Jun 2011 um 18:52 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz