Hola amigos.
Tengo exportada una funcion callback en un exe y con el PE la veo.
El problema es que desde otro exe necesito poder registrar la funcion y no encuentro la manera.
Primero obtengo el handle del exe y luego intento con GetProcAddress pero siempre me devuelve nil.
Código:
type
TRegCallBack = procedure(ClientProc: TCallBackProc); cdecl;
var
TestCallBack: TRegCallBack;
implementation
procedure TForm1.FormActivate(Sender: TObject);
begin
exeHandle := FindWindow(nil, 'CallBack_Test');
if exeHandle > 0 then
begin
@TestCallBack := GetProcAddress(exeHandle, 'TestCallBack');
if not Assigned(TestCallBack) then
ShowMessage('TestCallBack = nil');
end;
end;
Si alguno se pregunta si quien exporta la funcion callback tiene que ser un exe, la respuesta es si. Con una dll no tendria problema.
Alguna idea por favor
Gracias