AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Bitmap in anderen Prozess bekommen ohne VCL
Thema durchsuchen
Ansicht
Themen-Optionen

Bitmap in anderen Prozess bekommen ohne VCL

Ein Thema von Vjay · begonnen am 14. Jul 2004 · letzter Beitrag vom 30. Mär 2005
Antwort Antwort
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#1

Bitmap in anderen Prozess bekommen ohne VCL

  Alt 14. Jul 2004, 20:23
Hi, bräuchte mal Hilfe von nem WinAPI-Freak.

Ich Hooke die Window-Prcoedure eines beliebigen Fensters und ersetze die WM-Paint, der Grund dafür ist, dass ich das "Bild" in meinem Proezess weiter bearbeiten möchte.

Kurz zusammengewurschtelt sieht das so aus:

Delphi-Quellcode:
 WM_PAINT, WM_NCPAINT:
            begin
              if wParam = 0 then
              begin
               b1:= tbitmap.create;
               b1.width:= 50;
               b1.height:= 50;
               wParam:= b1.Canvas.Handle;
               processit; // ruft Originalwndproc auf
               b1.SaveToFile('v:\test.bmp');
               b1.free;
               sendMessage(coreHandle, WM_BLABLA, hWnd, 0);
              end
              else processit;

            end; // Ende Paint
Nun möchte ich in meine Hook-DLL nicht die VCL mit reinpacken (mir persöhnlich zu gross).

Die Frage ist nun, wie bekomme ich das Bitmap dann da rüber?
Kann ich mit createcombatiblebitmap ein Bild erzeugen, darauf malen lassen und dann den Speicher auf den HBITMAP (result von createcompatiblebitmap) verweist einfach rüberschieben?

Hoffe das ist einigermaßen verständlich erklärt ^^
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Mephistopheles
(Gast)

n/a Beiträge
 
#2

Re: Bitmap in anderen Prozess bekommen ohne VCL

  Alt 26. Mär 2005, 14:17
Eine Möglichkeit wären MMFs. Da die Bitmapdaten ja "flach" im Speicher vorliegen, kannst du mit GetBitmapBits() die Bitmap in ein den geteilten Bereich schreiben.

Allerdings gehe ich von der Annahme aus, daß du von 2 Prozessen auf 1 Rechner redest. Im anderen Fall wüßte ich nichts anderes als normale Übertragung per TCP.
  Mit Zitat antworten Zitat
Lesco

Registriert seit: 29. Mär 2005
29 Beiträge
 
Delphi 2005 Architect
 
#3

Re: Bitmap in anderen Prozess bekommen ohne VCL

  Alt 30. Mär 2005, 10:33
bei zwei verschiedenen pcs würde ich MSDN-Library durchsuchennamed pipes benutzen
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#4

Re: Bitmap in anderen Prozess bekommen ohne VCL

  Alt 30. Mär 2005, 10:49
Danke für die Antworten, das Problem hat sich bereits in sofern erledigt, dass ich die Bildmanipulationen direkt in der DLL erledige.
Wer später bremst ist eher tot.
  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 06:28 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