PDA

Ver la Versión Completa : Api de windows, obtener datos y pulsar botones de otros programas.


lag_0
17-09-2006, 01:44:21
Buenas,

Hace tiempo que programo en delphi y hasta ahora lo que necesité en este campo lo realizaba con chapuzas tipo capturar la pantalla y comparar las imagenes con otras anteriores y emular clicks más tarde :D.

Pero ya está bien de hacer estas chapuzas, así que: Busco un tutorial donde explique como hacer estas cosas, como poder "utilizar" otros programas desde el mio, nosé bien bien cual es el termino exacto para esto, y es que todo mi tiempo en delphi fue completamente autodidactico, por tanto nosé ni que buscar, no como las otras veces que necestité ejemplos :rolleyes: .

Recuerdo hace un año o dos un componente para delphi (del que no recuerdo el nombre) que tenia sencillos procedimientos y funciones para estas cosas, conseguí dominarlos hasta cierto punto a ver si alguien me pasa el link de la web del componente por que no hay manera de encontrarla...

Lo dicho, conoceis algún tutorial para esto?

Saludos, lag, lag_0.

PD: Soy nuevo en el foro, nunca postee pero si leeo desde el anonimato.

dec
17-09-2006, 01:57:45
Hola,


Recuerdo hace un año o dos un componente para delphi (del que no recuerdo el nombre) que tenia sencillos procedimientos y funciones para estas cosas, conseguí dominarlos hasta cierto punto a ver si alguien me pasa el link de la web del componente por que no hay manera de encontrarla...


¿Cómo va a saber alguien la dirección de la página Web del componente si no mencionas su nombre siquiera? Está claro que alguien puede conocer algún componente que haga más o menos lo que te interesa, eso es otra cosa, pero, la Web del componente que no dices... ¡habría que adivinarla! :eek: :p

lag_0
17-09-2006, 02:52:19
Hola,
¿Cómo va a saber alguien la dirección de la página Web del componente si no mencionas su nombre siquiera? Está claro que alguien puede conocer algún componente que haga más o menos lo que te interesa, eso es otra cosa, pero, la Web del componente que no dices... ¡habría que adivinarla! :eek: :p


Bueno hombre, por lo explicado no creo que haya muchos componentes de calidad en ese campo y freewares menos aún, por tanto si alguien conoce alguna será probablemente la que busco :)

HySTD
19-09-2006, 02:30:44
Hola buenas, no puedo ayudarte sobre la existencia de algun componente para eso... supongo que existirá, pero no he buscado :).
Lo que si puedo ayudarte es a crearte tu uno... :P
Lo único que tienes que saber es manejar algunas funciones interesantes de "user32", ("incluye en el uses: Windows"):

function FindWindow (lpClassName: PChar; lpWindowName: PChar): HWND;
function PostMessage (hWnd: HWND; Msg: Cardinal; wParam: Integer; lParam: Integer): LongBool;
procedure keybd_event (bVk: Byte; bScan: Byte; dwFlags: Cardinal; dwExtraInfo: Cardinal);
function MapVirtualKey (uCode: Cardinal; uMapType: Cardinal): Cardinal;

La primera devuelve el Handle (=LongWord) de una ventana, sabiendo su titulo (lpWindowName) o bien el nombre de su clase (lpClassName). Posteriormente, pasaremos como parametro a otra funcion, ese Handle para trabajar con esa ventana.

PostMessage sirve para mandar un "comando" a esa ventana (identificada con el handle). Los mas usados son "WM_CLOSE", "WM_SETFOCUS", "WM_SETICON", "WM_KEYDOWN"... etc...

Keybd_event sirve para simular "pulsaciones" del teclado y que podremos enviar a otra aplicacion. Se utiliza junto con MapVirtualKey.

Busca informacion en google sobre ellas. (No son dificiles).

Saludos y suerte ;)

lag_0
19-09-2006, 07:31:11
Muchas gracias =)
con eso me apañaré :)