Cita:
Empezado por Khronos
Primero, la ejecución de código remoto en otro proceso casi nunca es para nada bueno.
Segundo, los antivirus detectan esas llamadas a las apis y las bloquean.
Y tercero, el método que empleas da muchisimos errores. El metodo mas eficaz que he probado con éxito es el de cargar una dll en otro proceso.
Si tengo tiempo te busco el código.
Salu2
|
Hola,
Muchas gracias por la sugerencia y la oferta. Te comento al respecto.
En primer lugar, la razón de usar esta técnica es que el programa debe adiministrar aplicativos externos y se necesita cierta información de esos aplicativos externos que no es accesible directamente vía comunicación standard simple entre procesos; entre otras cosas porque esos aplicativos son de terceros y por ello no puedo incorporar directamente mensajes registrados de Windows para dicha comunicación.
La alternativa de DLLs la había considerado; pero en este caso, hasta ahora, he optado por la copia directa. Tengo varias razones :
1. El aplicativo se usará básicamente en muy pocos equipos (usualmente uno), y la situación de antivirus es controlable.
2. Cada ejecución implica recorrer todos los aplicativos activos y ejecutar el código en cada uno. En ese orden de ideas, la opción vía memoria a memoria es más efciciente que cargar y descargar DLLs.
3. El grado de dificultad de la técnica que he visto para hacerlo con DLLs es similar y quizás mayor a la que uso actualmente.
Por otro lado, dado que el sistema está funcionando básicamente bien, antes de ponerme a recodificar todo, preferiría agotar la opción de corregir el error que se está presentando.