hmm, also neuer Ansatz:
Ich habe mir
Madshi's madCollection geholt und eine weile 'rumprobiert jedoch auch nicht wirklich weiter gekommen.
Aufgabe für mich ist:
1. Das notepad starten
1a. oder meine Applikation starten, welche dann das Notepad startet und gleich die
DLL injected
2. wenn ich im Notepad über das MenuItem Datei mit der Maus fahre, soll in meiner Applikation als String Datei stehen
Meine Theorie ist folgende...
Ich habe meine
DLL, wo die Funktion drinn' steht welche Nachrichten abfängt und verarbeitet. Handelt es sich um die Nachricht, dass ein Menüeintrag ausgewählt worden ist, so wird der String verarbeitet JEDOCH der eigentlich Programmablauf des Notepads nicht unterbrochen. Nach längerem Foren durchforsten bin ich nun zu folgender Erkenntnis gekommen, dass ich also nun 3 Dinge habe:
1. Das Notepad
2. meine Applikation welche die
DLL injected
3. meine
DLL
Sollte es doch wieder irgendwie anders gehen, also ohne
DLL, dann bitte auch bescheid sagen. Nicht, dass ich hier wieder in eine völlig falsche Richtung renne.
Folgende Problem tuhen sich mir nun auf:
1. Was genau muss in der
DLL stehen?!?!
bis jetzt schaut sie nur so aus...und das macht eigentlich auch nichts
Delphi-Quellcode:
var
OldWndProc : Pointer =
nil;
////////////////////////////////////////////////////////////////////////////////
// OWN HANDLE //////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
function NewWndProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT;
stdcall;
////////////////////////////////////////////////////////////////////////////////
function CallOld: LRESULT;
begin
Result := CallWindowProc(@OldWndProc, hWnd, Msg, wParam, lParam);
end;
////////////////////////////////////////////////////////////////////////////////
begin
// Result := DefWindowProc(hWnd, Msg, wParam, lParam); // standardWndProc aufrufen
case Msg
of
WM_QUIT :
begin
ShowMessage('
bye');
end;
end;
Result := CallOld;
end;
begin
end.
2. Wie schaffe ich das denn, dass die Funktion in der
DLL wiederum auf mein Programm zugreifen kann, sprich auf mein Form, wo dann der String 'reingeschrieben werden soll. Oder geht das, wenn man eine
DLL benutzt ganz anders.
Ich hoffe jetzt bin ich schon ein Stückchen weiter...wäre schön wenn mir da jemand weiterhelfen könnte...
also sprich
"wenn ich im Notepad über das MenuItem Datei mit der Maus fahre, soll in meiner Applikation als String Datei stehen".
Bzw. sollte das denn nicht nur ausschließlich auf's Notepad beschränkt sein.
vielen vielen Dank
Florian