• Sábado 14 de Diciembre de 2024, 17:36

Autor Tema:  Int Winapi Winmain(hinstance Hinstance....)  (Leído 2734 veces)

scatterbrain

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Int Winapi Winmain(hinstance Hinstance....)
« en: Lunes 31 de Mayo de 2004, 23:54 »
0
quiero saber un poco sobre los argumentos que recibe la funcion


int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR zCmdLine,nose);

especificamente sobre argumentos similares a los de la funcion main
(int argc,char **argv);

por favor si alguien sabe...
o tiene alguna direccion donde lo pueda encontrar...
 :hola:
We`re the dollars and cents
and the PoUNDS and Pence
the MARK and the YEN

we gonna crack your little souls,crack your little souls...

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #1 en: Martes 1 de Junio de 2004, 00:52 »
0
La función de entrada de un programa Windows es "WinMain", en lugar de la conocida "main". Normalmente, la definición de esta función cambia muy poco de una aplicaciones a otras. Se divide en tres partes claramente diferenciadas: declaración, inicialización y bucle de mensajes.

Parámetros de entrada de "WinMain"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow)

La función WinMain tiene cuatro parámetros de entrada:

hInstance es un manipulador para la instancia del programa que estamos ejecutando. Cada vez que se ejecuta una aplicación, Windows crea una Instancia para ella, y le pasa un manipulador de dicha instancia a la aplicación.
hPrevInstance es un manipulador a instancias previas de la misma aplicación. Como Windows es multitarea, pueden existir varias versiones de la misma aplicación ejecutándose, varias instancias. En Windows 3.1, este parámetro nos servía para saber si nuestra aplicación ya se estaba ejecutando, y de ese modo se podían compartir los datos comunes a todas las instancias. Pero eso era antes, ya que en Win32 usa un segmento distinto para cada instancia y este parámetro es siempre NULL, sólo se conserva por motivos de compatibilidad.
lpszCmdParam, esta cadena contiene los argumentos de entrada del comando de línea.
nCmdShow, este parámetro especifica cómo se mostrará la ventana. Para ver sus posibles valores consultar valores de ncmdshow. Se recomienda no usar este parámetro en la función ShowWindow la primera vez que se ésta es llamada. En su lugar debe usarse el valor SW_SHOWDEFAULT.



http://winapi.conclase.net/curso/index.php?cap=003

Saludos :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #2 en: Martes 1 de Junio de 2004, 07:27 »
0
Te felicito © Jonathan ©...
apenas un año largo que te conozco y el cambio ha sido impresionante!!!
Ahora hablas con mucha propiedad y con muy buena fundamenatción!!!
me alegra haber sido parte de ese proceso de aprendizaje asi fuese en menor medida...


while(1)
{
printf("FELICITACIONES!!!");
}


:bravo: :beer:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #3 en: Martes 1 de Junio de 2004, 23:59 »
0
Cita de: "JuanK"
Te felicito © Jonathan ©...
apenas un año largo que te conozco y el cambio ha sido impresionante!!!
Ahora hablas con mucha propiedad y con muy buena fundamenatción!!!
me alegra haber sido parte de ese proceso de aprendizaje asi fuese en menor medida...


while(1)
{
printf("FELICITACIONES!!!");
}


:bravo: :beer:
Es verdad, yo lo conozco hace menos y en este tiempo tubo un cambio rotundo, me alegra :D

saludos.
QliX=D! - From the top of Tsunami

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #4 en: Miércoles 2 de Junio de 2004, 00:04 »
0
no entiendo por que la diferencia.. para mi © Jonathan ©  siempre ha sido igual o ¿es que antes como se expresaba? :unsure:
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #5 en: Miércoles 2 de Junio de 2004, 01:29 »
0
Pues no me queda mas que agradecer. Todo lo que aprendo y consigo, a pesar de que es por esforzarme se lo debo a todas las personas a las cuales les pregunto mis dudas y en ves de desirme no "tengo tiempo para ayudarte"... me dan una mano y me explican y ayudan en todo lo que pueden, aqui en el foro he encontrado muchas personas las cuales me han ayudado y realmente mucho.

   A todos... MIL GRACIAS!!! :D:D :lol:  :)

   Y a las personas que creen que otorgar conocimientos a alguien que los pide es perder la oportunidad de ganar dinero, pues no es asi, al contrario, es un punto mas a favor y un amigo que ganan. Saludos :D :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

scatterbrain

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #6 en: Miércoles 2 de Junio de 2004, 01:47 »
0
:bravo:
eso es muy bueno,de hecho excelente ,yo tambien te felicito Jonathan.
y gracias por la pagina esta buena.

pero,tengo nua duda todavia ...



Citar
lpszCmdParam, esta cadena contiene los argumentos de entrada del comando de línea.

o sea ,si yo ejecuto el programa desde:
c:/(ejemplo)


entonces lpszCmdParam,que valor toma?
y tengo entendido que no son valores ascii....
????????
We`re the dollars and cents
and the PoUNDS and Pence
the MARK and the YEN

we gonna crack your little souls,crack your little souls...

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #7 en: Miércoles 2 de Junio de 2004, 06:02 »
0
Bueno recuerdo que cuando jho...
entro al foro comentaba que queria aprender mucho de programación, y al comienzo se metio de a poco en poco en el foro y despues ya estaba resolviendo todos mis retos.

Segun veo ha aprendido mucho a estructurar el codigo y ya no escribe como antes sus respuestas.. ahora se nota que esta totalmente convencido de lo que habla.

por eso es moderador

me alegra mucho por el , es una persona muy inteligente y muy dedicada...
estuvo un periodo aislado del foro por motivos personales , pero ya veo que ha superado esos pèqueños inconvenientes.

Me gustaria que contestaras nuevamente este post...
tal vez hoy en dia contestaras muy diferente...
http://foros.solocodigo.com/index.php?showtopic=1858&hl=

ahh y perdon por todos los post que pusiste en ese entonces y no pude copntestar.. aunque creo que ya sabes las respuestas :P
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #8 en: Miércoles 2 de Junio de 2004, 17:24 »
0
haaa.... ahora entiendo  por eso es que yo no tenia idea ya que yo en esa epoca aun no conocia esta grandiosa pagina...
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

scatterbrain

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #9 en: Miércoles 2 de Junio de 2004, 19:39 »
0
<_<

y mi pregunta??
 :(
We`re the dollars and cents
and the PoUNDS and Pence
the MARK and the YEN

we gonna crack your little souls,crack your little souls...

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Int Winapi Winmain(hinstance Hinstance....)
« Respuesta #10 en: Jueves 3 de Junio de 2004, 01:32 »
0
lpszCmdParam, esta cadena contiene los argumentos de entrada del comando de línea.

Un string (o cadena de caracteres) con los argumentos de linea de comando. No incluye el nombre del programa

WinMain( ) es en Windows el equivalente al main( ) de DOS o UNIX.

En main() los argumentos se pasan con: int main(int argc, char* argv[]);

"int argc y char* argv[];"

Por convención, argv[0] es el nombre con que se ha llamado al programa (normalmente será el nombre del fichero ejecutable incluyendo su dirección completa -path-).  Este dato es proporcionado automáticamente por el SO... así pues, el valor mínimo para argc es 1, después seguirán los que introduzcamos en la línea  de comandos, separados por espacios.


//********/

#include <stdio.h>         //  Prueba de parámetros para función main

int main(int argc, char* argv[]) {

   int i;

   printf("Se han pasado %3d argumentos:\n", argc);

   for(i=0; i<argc; i++) printf("%5d- %s\n", i, argv);

   return 0;

}
//**************/

Si introducimos en la linea de comandos:  prueba se pasan seis, parametros, se obtiene la siguiente salida:

    1- D:\ZF\LEARNC\PRUEBA.EXE

    2- prueba

    3- se

    4- pasan

    5- seis,

    6- parametros


   Espero hayas entendido algo, sino me preguntas y te explico algo mas detallado :D. Saludos :hola:
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»