Cita: con un icono en la barra del lado del reloj
Asumo que sabes programar y que estás programando en Windows.
Para agregar un icono en la barra, puedes usar la función de la API Win32:
Shell_NotifyIcon
http://msdn.microsoft.com/en-us/library/bb762159(VS.85).aspx
Más o menos se usa de la siguiente forma:
Código:
#define MENSAJE_DE_MI_ICONO (WM_APP+1)
NOTIFYICONDATA nid;
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hwnd;
nid.uID = id_de_mi_icono;
nid.uFlags = NIF_MESSAGE | NIF_ICON;
nid.uCallbackMessage = MENSAJE_DE_MI_ICONO;
nid.hIcon = mi_icono;
Shell_NotifyIcon(NIM_ADD, &nid);
donde hwnd es el apuntador a tu ventana, id_de_mi_icono es el identificador de tu icono (este puede ser cualquier número), MENSAJE_DE_MI_ICONO es el número del mensaje que recibirás a través del bucle de mensajes de la ventana hwnd, mi_icono es el apuntador al icono que deseas agregar.
En el bucle de mensajes de tu ventana tienes que poner lo siguiente:
Código:
case MENSAJE_DE_MI_ICONO:
switch(lParam) {
case WM_LBUTTONDOWN:
break;
case WM_RBUTTONDOWN:
break;
default:
break;
}
break;
Puedes usar CreatePopupMenu para crear el menú y TrackPopupMenu para mostrarlo en pantalla. Es lo más sencillo que se me ocurre.
Cita: con la posibilidad de apliar las capacidades del programa
mediante la carga dinamica de "secciones"
Creo que podrías hacerlo al menos de dos formas distintas:
1. Usando librerías dinamicas ( DLL ) es la forma más eficiente, cargas las librerías de acuerdo a la opción elegida.
2. Simplemente creas un programa muy simple que es el que pondrá el icono en la barra de sistema y manejará el menú, luego creas programas separados para cada opción y simplemente los ejecutas cuando se seleccione la opción correspondiente en el menú.
Cita: Desarrollarlo en c++ es mi desafío pero...
Existe algun entorno visual compatible con Dev C++
o minGW es decir codigo compatible para compilar y linkear
o lo visual es esclusividad de michrochoff?
Particularmente uso Code::Blocks, me permite programar en GNU/Linux y Windows sin necesidad de cambiar de IDE, y es compatible con MinGW.