Salve a tutti. Ho appena finito un banale programma per modificare l'ora di sistema.
è uno scherzo innocuo, tant'è che alla fine del programma reimposta l'ora come era all0avvio del programma (considerando che dura poco, pressochè uguale).
Il problema è che se devo farlo senza interfaccia grafica, come Win32 Application, il comando system è stupido da usare, perchè apre tante finestrelle nere quante volte viene richiamata la funzione.
Usando WinExec non sembra nemmeno funzionare. Ancora non ho provato con ShellExecute. avete qualche idea? Essendo un programma stupido vi chiedo gentilmente di non sottolineare la sua inutità
codice:
// timer.cpp : Defines the entry point for the application.
//
#include "StdAfx.h"
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
void TimeCatcher(char str[])
{
time_t date;
struct tm *tpointer = NULL;
char tmp[2];
time(&date);
tpointer=localtime(&date);
itoa(tpointer->tm_hour,str,10);
strcat(str,".");
itoa(tpointer->tm_min,tmp,10);
strcat(str,tmp);
}
void Genera_Ora()
{
char TIME[10];
strcpy(TIME,"time ");
srand( (unsigned) time(NULL));
int H = rand()%24;
int M = rand()%60;
char T1[2];
char T2[2];
strcat(TIME,itoa(H,T1,10));
strcat(TIME,".");
strcat(TIME,itoa(M,T2,10));
system(TIME);
// system("cls");
}
void Reimposta_Ora_Reale(char R[])
{
char TIME[10];
strcpy(TIME,"time ");
strcat(TIME,R);
system(TIME);
// system("cls");
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
char ora_attuale[5];
TimeCatcher(ora_attuale);
for (int i=0;i<100;i++)
{
Genera_Ora();
}
Reimposta_Ora_Reale(ora_attuale);
return 0;
}
Grazie in anticipo. Cordiali saluti