AGB  ·  Datenschutz  ·  Impressum  







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

Message kommt nicht an (Send/PostMessage)

Ein Thema von Neutral General · begonnen am 20. Jan 2011 · letzter Beitrag vom 20. Jan 2011
 
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Message kommt nicht an (Send/PostMessage)

  Alt 20. Jan 2011, 14:49
Hallo,

Wollte meinem Programm aus einem fremden Prozess (Hook-DLL) eine Nachricht senden.
Dummerweise kommt bei meinem Hauptprogramm aber nichts an. Kann mir nicht erklären wieso.

Gemeinsam genutzte Unit (DLL & EXE):
Delphi-Quellcode:
var
  WM_HOOKPASTE: Integer;

initialization
  WM_HOOKPASTE := RegisterWindowMessage('MultiPaste\WM_HOOKPASTE');
DLL:

Delphi-Quellcode:
// In IPCRec.ClipboardHandle steht das Handle was das Hauptprogramm mir per IPC (MMF) übermittelt hat
// Das habe ich nachgeprüft und das ist korrekt.
SendMessage(IPCRec.ClipboardHandle,WM_HOOKPASTE,0,0);
Programm:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var IPCRec: TIPCRec;
begin
  FClipBrdEvents := TClipboardEvents.Create;
  FClipBrdEvents.OnPaste := PasteEvent;
  
  FMapping := CreateFileMapping(INVALID_HANDLE_VALUE,nil,PAGE_READWRITE,0,SizeOf(TMMFRec),'#MC_FileMappingObj#');

  IPCRec := MapViewOfFile(FMapping,FILE_MAP_WRITE,0,0,SizeOf(TIPCRec));
  try
    IPCRec^.ClipboardHandle := FClipBrdEvents.Handle;
  finally
    UnmapViewOfFile(HookPtr);
  end;
end;

procedure TClipboardEvents.Create;
begin
  FHandle := AllocateHwnd(MsgProc);
end;

procedure TClipboardEvents.MsgProc(var Msg: TMessage);
begin
  if Msg.Msg = WM_HOOKPASTE then
  begin
    if Assigned(FOnPaste) then
      FOnPaste(Self);
  end
  else
    DefWindowProc(FHandle,Msg.Msg,Msg.WParam,Msg.LParam);
end;
Verstehe leider nicht warum da nichts ankommt. Habs auf nem WinXP Rechner getestet.
Hab auch schonmal an HWND_BROADCAST versendet und versucht die Message im Application.OnMessage abzufangen. Aber da kam leider auch nichts an

Kann mir da vllt. jemand helfen?

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
 


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 18:14 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