Ver Mensaje Individual
  #5  
Antiguo 07-12-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por cardomjar
¿cómo obtengo el handle de 'user32.dll' para realizar la llamada siguiente?:

funcPtr1 := getprocaddress(handle,'SendMessageA');
Pero es como te dice Mick, no tienes necesidad de esto ya que todas esas funciones están ya declaradas y no tienes más que usarlas como cualquier otra función de Delphi.

En Delphi estas funciones se declaran con la directiva external, por ejemplo

function SendMessage; external 'user32.dll' name 'SendMessageA';

En cuanto el comiplador ve una declaración así, añade el código necesario para cargar la librería user32 y asignar a SendMessage la función que en la librería tenga nombre SendMessageA.

Así, puedes usar SendMessage como cualquier otra función.

La gran mayoría de funciones de la API de Windows están ya declaradas así en la unidad Windows.pas y otras y el método al que te refieres sólo es necesario para las que no lo estén y eso sólo en el caso de que desees una carga dinámica de la librería en lugar de la carga implícita que se da al usar external.

// Saludos
Responder Con Cita