![]() |
Message kommt nicht an (Send/PostMessage)
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:
DLL:
var
WM_HOOKPASTE: Integer; initialization WM_HOOKPASTE := RegisterWindowMessage('MultiPaste\WM_HOOKPASTE');
Delphi-Quellcode:
Programm:
// 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);
Delphi-Quellcode:
Verstehe leider nicht warum da nichts ankommt. Habs auf nem WinXP Rechner getestet.
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; 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 |
AW: Message kommt nicht an (Send/PostMessage)
welchen Wert bekommst du für WM_HOOKPASTE? Ich würde vermuten das die Sonderzeichen in deinem Namen zu Problemen führen und da keine gültige MessageID generiert wird.
|
AW: Message kommt nicht an (Send/PostMessage)
Und wie ist das mit den Rechten?
z.B. Ein Userprozess kann keine Messages an einen Admin-Prozess schicken. |
AW: Message kommt nicht an (Send/PostMessage)
Zitat:
Ich dachte das Problem ist erst mit Vista relevant ... |
AW: Message kommt nicht an (Send/PostMessage)
Ich dachte ich hätte irgendwo 'ne 7 gelesen :oops:
OK und was sagt GetLastError vom SendMessage? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 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 by Thomas Breitkreuz