Objecto App (sólo proyectos visuales)
En tiempo de
ejecución, puede tener acceso a este útil
e interesante objeto:
Objeto App
El objeto App contiene información sobre la aplicación y se compone de los siguientes miembros:
Algunas aplicaciones sólo pueden tener una instancia en marcha al mismo tiempo. Para saber si ya hay alguna otra instancia en marcha cuando inicie la aplicación, compruebe la variable App.Previous en el mensaje WM_CREATE. Si App.Previous no es NULL y no desea iniciar otra instancia, devuelva -1. El valor de App.Previous es el "handle" de la ventana principal de la instancia que ya está en marcha (si hay alguna), o NULL.
Accel El "handle" de la tabla principal de aceleradores, si hay alguno, o NULL CommandLine La linea de comandos de la aplicación (excluyendo el nombre y la ubicación del programa) FileName El nombre del archivo ejecutable Header La cabecera o título de la aplicación (el texto del campo Cabecera de las Propiedades del proyecto) Instance El "handle" de la instancia de la aplicación Main El "handle" de la ventana principal (ventana de inicio) de la aplicación Major El número mayor de la versión Minor El número menor de la versión Path La ubicación de la aplicación Previous El "handle" de la ventana principal de la instancia previa, si hay alguna, o NULL ProcessID El identificador del proceso (no el handle del proceso). Para obtener el handle del proceso, llame a la función de la API GetCurrentProcess. Revision La revisión de la versión ThreadID El identificador del "thread" que ha creado la ventana principal.
AVISO: No
debería CAMBIAR
NUNCA ninguno de los valores
del objeto App
o la aplicación podría bloquearse.
IMPORTANTE: Cuando trabaje con proyectos visuales Fasm, debe tener muy presente que el objeto App es una estructura, por lo tanto, debe estar siempre entre corchetes (por ejemplo [App.Previous]). Si el objeto App no está entre corchetes, Fasm no genera ningún error porque cree que se le está pasando una dirección efectiva, pero la aplicación generada (o parte de ella) no funcionará.
OBSERVACIONES: El miembro CommandLine apunta a una cadena de texto acabada en cero que contiene solamente la linea de comandos de la aplicación (si hay alguna), es decir, sin incluir el nombre ni la ubicación del programa ("path"). Para obtener la linea de comandos entera, llame a la función de la API GetCommandLine.