1.- Cargar un ícono en la barra de tareas en la derecha (tray icon).
2.- Mostrar un globo junto con un mensaje (ballon notification).
Tengo el siguiente código:
Código
main PROC .... ; calls call START_TRAY_ICON ... ; calls main ENDP START_TRAY_ICON PROC mov struct_icon.cbSize,SIZEOF NOTIFYICONDATA ; Tamaño de la structura (SIZEOF) mov eax,[hdl_proc_name] ; manejador (handler) del proceso mov struct_icon.hwnd,eax ; Manejador (Handle) de la ventana que recibirá la notificacion cuando ocurran eventos de ratón sobre el icono de la bandeja mov struct_icon.uID,ID_ICON ; La constante que es usada como identificador del icono (sirve para chequear desde qué icono de bandeja proviene la notificación) mov struct_icon.uFlags,NIF_TIP+NIF_ICON+NIF_INFO ; Especifica qué miembros son válidos mov struct_icon.uCallbackMessage,WM_SHELLNOTIFY ; El mensaje común que Windows mandará a la ventana especificado por el miembro hwnd cuando ocurren eventos sobre el icono de bandeja INVOKE LoadIcon,NULL,IDI_WINLOGO mov struct_icon.hIcon,eax INVOKE lstrcpy,ADDR struct_icon.szTip,ADDR app_name INVOKE Shell_NotifyIcon,NIM_ADD,ADDR struct_icon Push TIME_ICON ; duración del globo en milisegundos push NIIF_INFO ; icono alerta push OFFSET error1_title ; titulo push OFFSET error1 ; mensaje call TRAY_ICON ret START_TRAY_ICON ENDP TRAY_ICON PROC ; aquí debería mostrar el mensaje push ebp mov ebp,esp mov eax,[ebp+8h] INVOKE lstrcpy,ADDR struct_icon.szInfo, eax mov eax,[ebp+0ch] INVOKE lstrcpy,ADDR struct_icon.szInfoTitle, eax mov eax,[ebp+10h] mov struct_icon.dwInfoFlags,eax mov eax,[ebp+14h] mov struct_icon.uTimeout,eax INVOKE Shell_NotifyIcon,NIM_MODIFY,ADDR struct_icon pop ebp ret 10h TRAY_ICON ENDP
Lo estoy haciendo en APP:Console MASM
a ver si me pueden guiar, saludos