Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Sera a tutti,
mi spiace di venir qui solo a parlare dei miei problemi, vorrei essere di maggior aiuto... ma il tempo è quello che è
Dunque, nel programma che sto scrivendo, dovrei far eseguire il comando:
Codice sorgente - presumibilmente C/C++
at (l'orario attuale + 1 minuto) /interactive "notepad.exe"
Avevo iniziato di usare questo codice per risalire all'orario (includendo il time.h):
Codice sorgente - presumibilmente C/C++
time_t orario;
tm *ptr;
ptr = localtime(&orario);
time(&orario);
ctime(&orario);
int ora = ptr->tm_hour;
int min = ptr->tm_min +1;
Ancora non conosco molto bene le funzioni di time.h, ma se elimino una delle due (time() o ctime()) il risultato è 14:7, quindi penso che questo pezzo vada abbastanza bene.
Per quanto riguarda il come importare l'ora esatta ok.
Per i comandi sul DOS, ho sempre utilizzato una semplice ShellExecute() ma in questo caso, dovendo inserire nel comando anke dei valori int... non riesco a trovare un "giusto modo" per farlo...
Codice sorgente - presumibilmente C/C++
ShellExecute(0, "open", "at" + ora + ":" + min + " /interactive \"notepad.exe\"", NULL, 0, SW_SHOW);
L'idea sarebbe questa. Purtroppo non è possibile realizzarla in questo modo...
Che potrei fare?
Grazie
Ultima modifica effettuata da redlion il 17/12/2006 alle 22:37
Per contatenare la stringa questo codice funziona, il problema è che non ti funzionerà la chiamata a ShellExecute (non ti riesco a dire come risolvere perchè non riesco esattamente a capire cosa vuoi fare) perchè gli argomenti sono da passare al 4° parametro, anzichè assieme al 3° (dove va semplicemente specificato il percorso dell'applicazione da eseguire).
Ho provato ad usare una stringa come hai scritto tu, ma mi restituisce questo errore:
Codice sorgente - presumibilmente C/C++
invalid operands of types `const char*' and `const char[2]' to binary `operator+'
Non capisco esattamente dove sia l'errore. Casomai posto tutto il codice.
Testo quotato
Postato originariamente da pierotofy: non riesco esattamente a capire cosa vuoi fare
In poche parole quello che sto tentando di fare è un adattamento in C++ di un programma in VB. Non ho molti problemi con la traduzione, tranne che per questo punto.
Il mio programma dovrebbe inserire una voce nella pianificazione programmi in windows. Che poi sarebbe esattamente come digitare da prompt di DOS il comando
Il risultato è esattamente quello che volevo: l'aggiunta di una voce nella pianificazione programmi di windows.
Ora, bisogna solo riuscire a concatenare una stringa o un array da passare al comando system, visto che ore e minuti vanno rimediati con i passaggi alle funzioni di time.
Questa è una prima prova:
Codice sorgente - presumibilmente C/C++
char hour[2], minu[2];
itoa(ora, hour, 10);
itoa(min, minu, 10);
string a = "at ";
string finale = a + hour + ":" + minu + " /interactive \"notepad.exe\"";
Ho letto che la prima stringa in una concatenazione deve essere di tipo string, mentre il resto va bene anke char.
Sembrava andare tutto bene. L'ora la prende tranquillamente. Il problema sono i minuti.
Se stampo a video, il risultato è:
at 16:0 /interactive "notepad.exe"