Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Dark Invader en 10 Septiembre 2011, 17:24 pm



Título: API FLASHWININFO[resuelto]
Publicado por: Dark Invader en 10 Septiembre 2011, 17:24 pm
Bueno pues estoy empezando con las API de windows,y he intentado hacer algunas,esta es una de las que me dejan bastante mal  :¬¬ Estoy tratando de hacer que la ventana que sale cuando ejecutas el programa parpadee,pero no estoy consiguiendo mucho por varias razones,como por ejemplo,que no se asociar el handle a la ventana,falta de experiencia en API... :silbar: Espero poder ir mejorando,os dejo lo que tengo hecho:

Código
  1. #include <windows.h>
  2. #include <stdio.h>
  3. int main() {
  4.  
  5.  
  6. FLASHWINFO oFlashwInfo;
  7. oFlashwInfo.cbSize = 600;
  8. oFlashwInfo.hwnd;
  9. oFlashwInfo.dwFlags = FLASHW_ALL;
  10. oFlashwInfo.uCount = 40;
  11. oFlashwInfo.dwTimeout = 600;
  12. return 0;
  13. }

Bueno pues eso es todo,gracias a quien pueda echarme un cable  :P


Título: Re: API FLASHWININFO
Publicado por: Eternal Idol en 10 Septiembre 2011, 18:28 pm
¿Y de que ventana estas hablando? ¿Una de otro proceso? ¿O tu consola?

GetConsoleWindow (http://msdn.microsoft.com/en-us/library/ms683175%28v=VS.85%29.aspx).

Código:
oFlashwInfo.hwnd = GetConsoleWindow();

La funcion de la API que usa esa estructura es FlashWindowEx (http://msdn.microsoft.com/en-us/library/ms679347(v=VS.85).aspx):

Código:
FlashWindowEx(&oFlashwInfo);

El miembro cbSize tiene que ser el tamaño de la estructura tal y como dice en la documentacion: FLASHWINFO (http://msdn.microsoft.com/en-us/library/ms679348%28v=VS.85%29.aspx).

Código:
oFlashwInfo.cbSize = sizeof(FLASHWINFO);

Tambien esta FlashWindow (http://msdn.microsoft.com/en-us/library/ms679346%28v=VS.85%29.aspx) que es mas simple.


Título: Re: API FLASHWININFO
Publicado por: Dark Invader en 10 Septiembre 2011, 19:57 pm
Gracias E.I ya se ve todo correcto  ;)

Pero me asaltan dudas,por ejemplo,¿como puedo obtener los handles de otras ventanas?En este caso FLASHWINFO es una estructura,por eso hay que ir introduciendo los valores como si fuera una estructura...pero¿que funcion cumple FlashWindowEx(&oFlashwInfo); ?

Intentaré practicar con mas API,aver como se me da.

Gracias  :P


Título: Re: API FLASHWININFO
Publicado por: Eternal Idol en 10 Septiembre 2011, 20:23 pm
Normalmente no deberias obtener los HANDLEs de otras ventanas pero podes hacerlo con EnumWindows (http://msdn.microsoft.com/en-us/library/ms633497%28v=vs.85%29.aspx).

¿Que funcion cumple? Llamar a la funcion, justamente, de la API FlashWindowEx pasandole como parametro un puntero (la direccion de memoria de nuestra variable local) a la estructura correspondiente. La estructura sola por si misma no hace nada, es un conjunto de parametros para la funcion ...


Título: Re: API FLASHWININFO
Publicado por: Dark Invader en 10 Septiembre 2011, 20:30 pm
Mmm muy bien,entonces todo claro como el agua  ;D

Gracias E.I,seguire practicando con las API hasta aprenderlas perfectamente  :P



Título: Re: API FLASHWININFO[resuelto]
Publicado por: Eternal Idol en 10 Septiembre 2011, 20:34 pm
De nadas  ::)