Crear procesos en AutoIt

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Crear procesos en AutoIt

Mensaje por Jonny »

Estoy intentando crear un proceso que sería creado desde el proceso de AutoIt, pero nada más llamar a la función CreateProcess() peta el AutoIt con eso de los informes de errores de Windows, y no se si es porque uso mal la API CreateProcess() que podría ser porque tiene tela ;)
o porque con AutoIt no se pueden crear procesos...

En un principio el proceso lo creaba una DLL usada por AutoIt; así, que cargada en el mismo proceso de este.
Al crearlo, AutoIt se cierra brúscamente con eso de los informes de errores (y el proceso creo que no llega a crearse).

Aunque se que el efecto sería exactamente el mismo, he probado a crearlo desde AutoIt directamente por descartar:

Código: Seleccionar todo

Local $Var=DLLCall("Kernel32.dll", "bool", "CreateProcess", "str", "Lib.dll", "str", 0, "ptr", 0, "ptr", 0, "bool", 1, "dword", 0, "ptr", 0, "str", 0, "ptr", 0, "ptr", 0)
Msgbox(0, "", $Var[0])
Exit
Y el resultado es exactamente el mismo, como cabía esperar: un cuelgue repentino de AutoIt.

Esa llamada a CreateProcess() es muy básica. Porque hay parámetros que no entiendo del todo bien (más bien es problema de traducción) y porque es símplemente una prueba que debería funcionar, pues todos los parámetros de esa API parecen ser opcionales:

http://msdn.microsoft.com/en-us/library ... s.85).aspx

Podría ser porque intento cargar una DLL como módulo principal (que se puede según la documentación de la API) pero aún sin especificar ningún módulo a cargar funciona.

¿Pueden crearse procesos con AutoIt, o estoy perdiendo el tiempo? ;).
(me da la impresión de que lo estoy perdiendo :) ). Aunque se me ocurre una manera muy sencilla y chapucera de hacerlo en caso de que no se pueda hacer así...:

Efectivamente, llamar un .exe desde AutoIt y con eso ya se ha creado un proceso nuevo ;).
Pero la idea como decía era que el módulo fuera una DLL y no un .exe, pero creo que tendré que rediseñar el código.

Salu2!
Avatar de Usuario
Rupert.25
Hacker del Foro
Mensajes: 247
Registrado: 17 Jul 2007, 18:27

Re: Crear procesos en AutoIt

Mensaje por Rupert.25 »

Tal vez la manera mas rápida sea compilar un exe y ejecutarlo desde AutoIt... Llegué a ver un ejemplo también de como se podía ejecutar un programa sin importar la extension, bien podría ser una dll, aunque no sé si era un exe con extension diferente.

Exactamente qque es lo que quieres hacer??? A veces hay mas de una forma de hacer algo, y en tu caso tal vez no sea necesariamente creando un proceso...
Responder