|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 592
|
Nascondere [C]
Ragazzi ho fatto un programmino in c l'ho compilato e funge bene, il programmino mi fa una cosa che a me serve molto, prima di cancellare un file lo copia in una cartella.
Volevo chiedervi se esiste un modo per nascondere la finestrella del dos. In pratica io avvio il programmino questo si apre e subito si chiude quando finisce ma io mi vedo l'apertura della shell di dos e mi da un po' fastidio. Volevo sapere se c'è un'opzione, un comando sia da C oppure da comando dos per nascondere la schell so di altri linguaggi che utilizzano le Api di Windows ma io non saprei come fare. Spero di essere stato chiaro. grazie
__________________
Case Enermax Chakra, CPU Intel i7 2600K-Dissy Antec kuhler H2O 620 - Mobo Asus P8P67 rev 3.1 - RAM 16 GB Corsair ven 1600 Mhz - SK video PNY quadro 600 - SSD OCZ 120 GB MI + HDD wester digital 300 GB - Mast. ASUS 24x - Monitor Samsung 244BW 24" - Mouse Razer Death Adder respowm - Casse 5.1 Logitech X530. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
a) Il programma lo fai partire sicuramente da un collegamento (sul desktop o altrove). Vai nelle proprietà del collegamento e indica di eseguirlo "Ridotto a icona". Sempre meglio che niente! b) Sviluppare il tuo programma in modo che diventi una applicazione Win32 "GUI", non "console" come l'hai fatta adesso. Nel secondo caso, devi apportare delle modifiche sia al sorgente che al progetto che hai creato con l'ambiente di sviluppo che usi. Se non è troppo lungo, posta il sorgente. Io o qualcun'altro del forum possiamo spiegarti cosa cambiare.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 592
|
re
Questo è il sorgente.
Sono interessato a entrambi le soluzioni ma maggiormente a quella che riguarda direttamente la programmazione in C. Ti sarei grato comunque se mi potresti illuminare su entrambi grazie. #include <stdio.h> #include <string.h> #include <time.h> #include <math.h> #include <stdlib.h> #include <Windows.h> #include <sys/types.h> #include <sys/stat.h> #include <io.h> void main(void) { FILE *l; FILE *f, *f1; long int Time; int i, conta; i=0; time(&Time); if(Time > 1164218572) { l=fopen("C:/log.txt", "a+"); fseek(l,0L,SEEK_SET); fscanf(l,"%d",&i); conta=0; if (i!=1) { conta++; fprintf(l,"%d",conta); fflush(l); fclose(l); system("mkdir C:\\security\\"); _chmod ("C:/miofile", _S_IWRITE); //cambio i permessi al mio file // lo rendo visibile f = fopen ("C:/miofile","rb+"); f1 = fopen("C:/security/miofile","wb"); while(!feof(f)){ fputc(fgetc(f),f1); //copia byte a byte e mette l'EOF } fflush(f1); fclose(f1); fflush(f); fseek(f,0L,SEEK_SET); // segno il vecchio file scrivendoci sopra for(i=0; i<50; i++){ fprintf( f,"%c",'*'); fprintf( f,"%c",'*'); fprintf( f,"%c",'*'); fprintf( f,"%c",'*'); fprintf( f,"%c",'*'); fprintf( f,"%c",'\n'); } fflush(f); fclose(f); exit(0); } } else{ exit(0);} }
__________________
Case Enermax Chakra, CPU Intel i7 2600K-Dissy Antec kuhler H2O 620 - Mobo Asus P8P67 rev 3.1 - RAM 16 GB Corsair ven 1600 Mhz - SK video PNY quadro 600 - SSD OCZ 120 GB MI + HDD wester digital 300 GB - Mast. ASUS 24x - Monitor Samsung 244BW 24" - Mouse Razer Death Adder respowm - Casse 5.1 Logitech X530. Ultima modifica di Zandor : 28-10-2006 alle 00:03. Motivo: dimenticanza |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include <direct.h>
#include <io.h>
#include <sys/stat.h>
INT APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevious, LPSTR lpszCmdLine, INT iCmdShow)
{
FILE *l;
FILE *f, *f1;
time_t Time;
int i, conta;
i=0;
time (&Time);
if (Time > 1164218572)
{
l=fopen ("C:\\log.txt", "a+");
fseek (l, 0L, SEEK_SET);
fscanf (l, "%d", &i);
conta=0;
if (i!=1)
{
conta++;
fprintf (l, "%d", conta);
fflush (l);
fclose (l);
_mkdir ("C:\\security\\");
_chmod ("C:\\miofile", _S_IWRITE); //cambio i permessi al mio file
// lo rendo visibile
f = fopen ("C:\\miofile", "rb+");
f1 = fopen ("C:\\security\\miofile", "wb");
while (!feof (f)) {
fputc (fgetc (f), f1); //copia byte a byte e mette l'EOF
}
fflush (f1);
fclose (f1);
fflush (f);
fseek (f, 0L, SEEK_SET);
// segno il vecchio file scrivendoci sopra
for (i=0; i<50; i++) {
fprintf (f, "%c", '*');
fprintf (f, "%c", '*');
fprintf (f, "%c", '*');
fprintf (f, "%c", '*');
fprintf (f, "%c", '*');
fprintf (f, "%c", '\n');
}
fflush (f);
fclose (f);
}
}
return 0;
}
- Il tipo di dato gestito da time() non è un long int ma time_t. - Per creare una directory basta usare _mkdir, non serve usare una system(). - È buona norma testare il valore di ritorno delle varie funzioni _mkdir, fopen, ecc...
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) Ultima modifica di andbin : 29-10-2006 alle 09:48. |
|
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 592
|
re... ae
Sicuramente accetterò i tuoi consigli cmq non mi raccapezzo.
Prima di tutto l'ambiente che utilizzo per la progammazione è Visual C++ 6.0 Autodidatta, non sono un programmatore ne ho frequentato corsi in questo senso, ho letto e continuo a leggere il manuale ANSI C. Ho capito solo che devo fare in Visual C++ 6.0 File> New > invece di file> projects> Win32 Application. e qui mi fermo perchè non so cosa fare. dove devo mettere il sorgente? E quelle cartelle e gli altri file che stanno sulla sinistra cosa sono?? Io ho fatto qualche programmino usando New> File > C++ file. Se mi dici dove posso prendere delle info su come fare sono ben disposto a leggere e imparare senza doverti/dovervi scocciare ogni volta. Casomai solo quando, come adesso, non ho la piu' pallida idea di come fare.
__________________
Case Enermax Chakra, CPU Intel i7 2600K-Dissy Antec kuhler H2O 620 - Mobo Asus P8P67 rev 3.1 - RAM 16 GB Corsair ven 1600 Mhz - SK video PNY quadro 600 - SSD OCZ 120 GB MI + HDD wester digital 300 GB - Mast. ASUS 24x - Monitor Samsung 244BW 24" - Mouse Razer Death Adder respowm - Casse 5.1 Logitech X530. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
file>new>project>win 32 appllication
creato il progetto vai in: source files>aggiungi risorsa>ci metti il tuo file>compili |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 592
|
re
Quote:
compilo e: e:\nando_c\vir.c(85) : fatal error C1010: unexpected end of file while looking for precompiled header directive
__________________
Case Enermax Chakra, CPU Intel i7 2600K-Dissy Antec kuhler H2O 620 - Mobo Asus P8P67 rev 3.1 - RAM 16 GB Corsair ven 1600 Mhz - SK video PNY quadro 600 - SSD OCZ 120 GB MI + HDD wester digital 300 GB - Mast. ASUS 24x - Monitor Samsung 244BW 24" - Mouse Razer Death Adder respowm - Casse 5.1 Logitech X530. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:24.



















