|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
[visual c++] includere exe dentro altro exe
vorrei inserire come risorsa dentro a un'applicazione un'altra applicazione da far partire qnd voglio...
come inserirla e come farla partire??? grazie mille!!! |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Per far partire l'exe devi comunque estrarre la risorsa, scriverla sul file system ed eseguire il file.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Sempre per quanto riguarda un file .rc, per includere una risorsa "custom" si deve usare un tipo di risorsa non standard.
Esempio: Codice:
ID_MIOEXE BINRES "miofile.exe"
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
capito grazie... e per poi estrarlo ed eseguirlo come fare??
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Per eseguire un file si può usare la funzione Win32: ShellExecute.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
ooops, ne ho dimenticata una: serve anche la funzione SizeofResource. Per sapere la dimensione della risorsa.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
Codice:
HGLOBAL resHandle = NULL;
HRSRC res;
char *resData;
int resSize;
FILE *fp;
FILE *err=fopen("ba.txt","wb");
res = FindResource(0, MAKEINTRESOURCE(IDR_BINRES1), BINRES);
if (!res) fprintf(err,"FindResource() fallita!");
else {
resHandle = LoadResource(0, res);
if (!resHandle) fprintf(err,"LoadResource() fallita!");
else {
resData = (char*)LockResource(resHandle);
resSize = SizeofResource(NULL, res);
if ((fp=fopen("myexe.exe","wb"))){
int i;
for (i=0; i < resSize ; i++) {
fputc(resData[i], fp);
fclose(fp);
}
//ShellExecute(0,"open","myexe.exe", 0, 0, SW_SHOWNORMAL);
}
else fprintf(err,"fopen() fallita!");
}
}
fclose(err);
a questa riga mi dice unencrared identifier... come rimediare??? grazie ciao |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
ok risolto... ma ora avrei un'altra domanidina credo facile facile...
cosa devo includere per poter usare la funzione ShellExecute???? |
|
|
|
|
|
#9 | |||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|||
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
Quote:
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
perfetto funziona tutto... grazie mille
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:06.



















