![]() |
Mensajes WM anda entre sesiones?¿?
Buenas tardes:
Una pregunta muy rara la mia.. pero bueno siempre tengo q lidiar con cosas raras... en este caso necesito comunicar una aplicacion con otra que esta en la misma pc ejecutada en otra sesion, no quiere compartir datos en un .ini ni nada de eso... quiero manejarme directamente con mensajes de windows del tipo wm. Alguien sabe si puedo comunicarme mandando mensajes entre las 2 aplicaciones que estan en sesiones distintas? espero se entienda... saludos |
Busca en la ayuda del SDK de Windows (incluida con Delphi) acerca de RegisterWindowMessage. Esta función te sirve para estableder mensajes aptos para comunicación entre aplicaciones.
// Saludos |
Hablo suponiendo, pues no tengo como probarlo aquí, pero creo que cada sesión se debe ejecutar en un nuevo Window Station, por consiguiente en un nuevo Desktop. No vas a obtener el handle de la ventana de otro desktop, a no ser que busques al WindowStation (EnumWindowStations), busques el Desktop (EnumDesktops) y busques la ventana (EnumDesktopWindows). Para cada una de estas búsquedas podrás encontrar mas de un resultado. Supongo que una vez encontrada, no habrá problema para comunicarse por "Window Messages"...
Saludos! |
Ah, se me había pasado el "detallito" de las sesiones :o
Pero ahora me queda la duda: Cita:
// Saludos |
Pues va a ser que no. El SDK de Windows explícitamente dice:
Cita:
|
Estaba haciendo esta prueba, pero me tengo que ir... si alguien quiere continuarla...
Saludos! |
Cita:
Saludos! |
Cita:
viene con Delphi y no lo menciona pero en el msdn sí lo dice. Ya después buscando en los grupos de noticias de Borland vi varias entradas de Peter Below donde enfáticamente afirma lo mismo y menciona que para ese tipo de comunicación mejor usar en todo caso tcp/ip. // Saludos |
Cita:
Cita:
Saludos! |
Cita:
// Saludos pd: ¿Podrías entrar al mensaje #6 de tu autoría y cortar las líneas largas? |
Cita:
¿Que tal comunicar los procesos por los medios tradicionales a traves del kernler?... (CreateFile, CreateFileMapping, CreateSemaphore, CreateMutex) Ahora armo un ejemplito con FileMapping y lo subo para que lo prueben!... yo no puedo :( Saludos! |
Cita:
Cita:
Sí, pensé en los memory mapped files pero ya me dio pereza hacer un ejemplo :p // Saludos |
Cita:
Cita:
Saludos! |
Cita:
Cita:
// Saludos |
Cita:
|
:)
jajaja!!!0 es cierto cuando sea grande yo tambien quiero ser como el... a mi me lleva un ratillo tener las cosas compiladas y funcionando correctamente...
haaa para este tema, por si a alguien le interesa, los mensajes entre sesiones se manejan sin problemas usando socket local... no se si sera una buena solución pero fue algo que implemente rapido, y me saco del apuro...! Saludos!! |
Cita:
|
Cita:
Cita:
Cita:
|
Muy cierto tu comentario Federico, me quede mal en su momento, pensando que si no tenian dispositivo de red no funcionaba... igual eso es culpa del maldito windows, porque linux no tiene ese inconveniente... Pero honestamente en la empresa que trabajo lamentablemente las cosas tienen que salir muy rapido y crei que esa era la mejor jugada que pude hacer en ese momento...
Igualmente el programa ya de por si manejaba sockets, asi que no podia tener problemas porque como requisito fundamental para usar la aplicacion habia que tener una placa de red... mas alla de eso hoy por hoy el hardware standard del mercado de pc incluye una placa de red... Pero... muy Muy de acuerdo hay que hacer las cosas lo mas compatible e independiente (soft/hard) posible... Pd: igual por ahora creo que el socket es lo unico que anda entre sesiones no? ... Haaa en cuanto al tema del servicio para comunicar los procesos que lei por ahi abajo yo tambien "delire" cuando estaba haciendo las pruebas, pero el servicio de por sí (por defecto) se carga con el usuario SYSTEM asi que seguia dando vueltas sobre lo mismo jaaa,,, no queria saber mas nada de sesiones!,,, y no me parecio util.... |
La franja horaria es GMT +2. Ahora son las 10:38:24. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi