C/Visual C - Manipulación de fechas

 
Vista:

Manipulación de fechas

Publicado por Iceman (5 intervenciones) el 25/08/2002 18:32:30
Una pregunta sencilla
Me gustaria saber como manipular la fecha del sistema y tambien como poder abrir una ventana de alerta con un programa en background. Hace tiempo que no manejo C y estoy intentando ponerme al dia
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Manipulación de la fecha del sistema y creación de alertas en programas en segundo plano

Publicado por Alejandro (913 intervenciones) el 14/03/2025 19:30:59

1. Manipulación de la fecha del sistema



Para cambiar la fecha del sistema en C, puedes utilizar la API de Windows. Aquí tienes un ejemplo básico de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <windows.h>
#include <iostream>
 
void SetSystemDate(int year, int month, int day) {
    SYSTEMTIME st;
    GetSystemTime(&st); // Obtiene la fecha y hora actuales
 
    st.wYear = year;   // Establece el año
    st.wMonth = month; // Establece el mes
    st.wDay = day;     // Establece el día
 
    // Cambia la fecha del sistema
    if (SetSystemTime(&st)) {
        std::cout << "Fecha cambiada exitosamente." << std::endl;
    } else {
        std::cout << "Error al cambiar la fecha." << std::endl;
    }
}
 
int main() {
    SetSystemDate(2025, 3, 14); // Cambia la fecha al 14 de marzo de 2025
    return 0;
}

Nota: Para cambiar la fecha del sistema, tu programa debe ejecutarse con privilegios de administrador.

2. Crear una ventana de alerta en un programa en segundo plano



Para mostrar una ventana de alerta (como un `MessageBox`) desde un programa que se ejecuta en segundo plano, puedes usar la función `AfxMessageBox` o `MessageBox`. Sin embargo, ten en cuenta que si tu programa está en segundo plano, la ventana de alerta puede no aparecer si no hay una ventana de interfaz de usuario activa. Aquí tienes un ejemplo simple:

1
2
3
4
5
6
7
8
9
10
11
#include <windows.h>
 
void ShowAlert(const char* message) {
    MessageBox(NULL, message, "Alerta", MB_OK | MB_ICONINFORMATION);
}
 
int main() {
    // Simula un trabajo en segundo plano
    ShowAlert("Este es un mensaje de alerta desde un programa en segundo plano.");
    return 0;
}

Consideraciones:
- Si tu programa está diseñado para ejecutarse en segundo plano (sin interfaz gráfica), asegúrate de que el usuario esté consciente de que se mostrarán alertas, ya que pueden interrumpir su trabajo.
- Si necesitas que el programa funcione completamente en segundo plano, considera usar notificaciones del sistema en lugar de `MessageBox`, que es más intrusivo.

Iceman, con estos ejemplos, deberías poder manipular la fecha del sistema y mostrar alertas desde un programa en segundo plano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar