Autor Tema: Como Usar API: RegisterWIndowMessage?  (Leído 3957 veces)

0 Usuarios y 1 Visitante están viendo este tema.

RHL

  • Bytes
  • *
  • Mensajes: 26
  • Reputación: +3/-15
    • Ver Perfil
Como Usar API: RegisterWIndowMessage?
« en: Noviembre 01, 2011, 04:06:53 am »
buenas ;D
estoy queriendo aprender a usar apis "extrañas" para mi y pues en tope con esta api :P
y no e podido entender como es que trabaja e buscado en la red algun codigos lo mas sencillo posible pero
no e podido encontrar uno que lo entienda :/
e leido en la msdn que crear un mensaje unico en el sistema es todo lo que e entendido :P
si alguien me puede ayudar a entender por favor agradecido :D

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:Como Usar API: RegisterWIndowMessage?
« Respuesta #1 en: Noviembre 02, 2011, 05:07:17 pm »
hola, bueno ese API es muy util para enviar mensajes de una aplicacion a otra.
con dicha api vos creas un numero para usar como mensaje (referenciado a un string), que en teoria es unico para todo el sistema.

Entonces, si vos mandas ese mensaje a otra aplicacion (o a la misma) via SendMessage; o PostMessage, en el WndProc podes revisar si se trata de un mensaje de tu tipo...
Y bueno, si es el caso, podes usar el lParam o wParam como punteros e intercomunicar 2 procesos muy facilmente.

Redondeando, aunque vos llames a la misma API en 2 .exe totalmente distintos, el numero que devuelve, va a ser el mismo... es por eso que uno tiene 100% de certeza de que se trata de TU MENSAJE.
Obviamente que hay que usar el mismo string...

Evidentemente, si el mensaje no estaba registrado, te devuelve un numero al azar nuevo... Pero si ya se encuentra registrado, te devuelve el mismo.

Código: (vb) [Seleccionar]
'// declaracion:
Private Declare Function RegisterWindowMessage Lib "user32.dll" Alias "RegisterWindowMessageA" ( _
    ByVal lpString As String) As Long


'// codigo de ejemplo

Dim lMessage As Long
lMessage = RegisterWindowMessage("MyMessage")

saludos

PD: La clase de cobein simple DDE usa esta api, pero no la puedo encontrar...
« última modificación: Noviembre 02, 2011, 05:15:04 pm por coco »
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion

RHL

  • Bytes
  • *
  • Mensajes: 26
  • Reputación: +3/-15
    • Ver Perfil
Re:Como Usar API: RegisterWIndowMessage?
« Respuesta #2 en: Noviembre 04, 2011, 12:52:58 pm »
Gracias coco Ya voy entendiendo mucho mas la API y muchas gracias por tu explicacion
justo lo que necesitaba para entenderla, suena muy iteresante el codigo de cobein con DDE
yo tambien ya me voy imaginando como es :P lo buscare yo tambien aver si lo encuentro :P

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:Como Usar API: RegisterWIndowMessage?
« Respuesta #3 en: Noviembre 04, 2011, 12:55:03 pm »
@raul100: aca cobein posteo un archivo con sus codigos... dentro, esta la clase con un ejemplo
http://leandroascierto.com/foro/index.php?topic=1359.0

saludos
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion

RHL

  • Bytes
  • *
  • Mensajes: 26
  • Reputación: +3/-15
    • Ver Perfil
Re:Como Usar API: RegisterWIndowMessage?
« Respuesta #4 en: Noviembre 05, 2011, 01:27:30 am »
 :D :D :D Genial perfecto me vienen de perlas coco muchas gracias bro!  :)