Puedes crear un thread con un contador que ejecute esa funcion; o tambienpuedes crear un timer que hara de contador
Código C:
Ver original//funcion que actualiza el mensaje
void CALLBACK actulizaIconMessage(HWND hwnd, unsigned int timer_msg, unsigned int timer_id, unsigned long tick) {
//ya lo tienes
}
//creas el timer
unsigned int tpr = SetTimer(0, 0, 1000, (TIMERPROC)actulizaIconMessage);
Tambien puedes asignar una ventana padre con un identificador de timer y una funcion nula para que el evento sea notificado a esa ventana padre, luego solo chequeas esa notificacion para estar en la misma situacion.
Código C:
Ver original#define TIMER_ID 1234
#define TIMER_LAPSE 10000
LRESULT CALLBACK procedimientoPrincipal(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
switch(msg) {
case WM_CREATE: {
SetTimer(hwnd, TIMER_ID, TIMER_LAPSE, 0);
}
break;
case WM_TIMER: {
switch(wParam) {
case TIMER_ID: {
//ya lo tienes
}
break;
}
}
break;
...
}
Es solo un ejemplo, no es necesario crear el timer en el WM_CREATE, puedes crearlo en el momento que quieras, y tambien puedes detenerlo cuando quieras.
Saludos
vosk