|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
[C/C++]Come creare DLL con devc++?
ho un programma e vorrei ke dei file testo e la maggiorparte del codice sia in formato dll, come fare? ho provato a creare un progetto(con devc++) x DLL e poi sotto parametri ho messo l'exe del programma principale, xo poi mi kiedo: questo mi creare + file: mi basta prendere il file .dll da affiancare al programma principale? ma soprattt come faccio ad inserire un file d testo? o nn é possibile?
grazie |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
cioé? scusa la mia ignoranza in materia....
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
in pratica vorrei rakkiudere in un file(una dll kredo faccia al caso mio) piu file d testo, ke xo nel programma io utilizzo aprendoli e modificandoli
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 499
|
Quote:
quindi se devi metterci solo testo perchè dovresti fare una dll?
__________________
|
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Codice:
bool ExtractSupportFile(int nResourceID, const char *szFilename) {
HRSRC hrsrc;
int cb;
int cbWritten;
HGLOBAL hFileRes;
PVOID pFileContents;
HANDLE hFile;
if (NULL == (hrsrc = FindResource(hAppInstance, MAKEINTRESOURCE(nResourceID),
TEXT("RES_EMBEDDED_EXE")))) {
return false;
}
if (!(cb = SizeofResource(hAppInstance, hrsrc))) {
return false;
}
if (NULL == (hFileRes = LoadResource(hAppInstance, hrsrc))) {
return false;
}
if (NULL == (pFileContents = LockResource(hFileRes))) {
return false;
}
if (INVALID_HANDLE_VALUE == (hFile = CreateFile(szFilename,
GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL))) {
// If and only if we failed because we get access denied, try to continue anyway
// FIXME This needs to go away and the underlying problem solved
if (GetLastError() == ERROR_ACCESS_DENIED && PathFileExists(szFilename)) {
FreeResource(hFileRes);
return true;
}
return false;
}
if (!(WriteFile(hFile, pFileContents, cb, (LPDWORD)&cbWritten, NULL))) {
// If and only if we failed because we get access denied, try to continue anyway
if (!PathFileExists(szFilename)) {
return false;
}
}
CloseHandle(hFile);
FreeResource(hFileRes);
return true;
}
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
voglio ke i file testo non possano essere visualizzati e modificati da altri se nn il programma
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
Quote:
|
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
nn ho ben capito (sto imparando ad usare le api...ma ho ancora molto da imparare:P) come devo ajjunjere i file d testo?
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jul 2007
Messaggi: 499
|
se vuoi avere un file di testo non accessabile (almeno non facilmente) criptalo prima di salvarlo...
__________________
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
ha rajone!
io utilizzo dec++: x creare una dll creo un progetto e seleziono dll, ma poi cosé il risultato? cioé: io ho il mio programma con + file..ricompilo ke codice? e poi metto come parametro il file .exe del mio programma ...sono un po confuso |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se metti i file di testo nella dll come risorsa in ogni caso sono modificabili anche dall'esterno.
La soluzione che possa rendere quantomeno più difficile modificare i file e leggerli è usare un qualche algoritmo per criptare i file di testo. |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
il problema é ke anke se criptato, uno potrebbe cmq cancellare il tutto, é questo il mio problema, come faccio quindi? x quello avevo pensato a delle .dll...o cmq un file ke rakkiude piu file testo, accessibile solo dal mio programma
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Prova a spiegare che tipo di applicazione stai realizzando (NEL DETTAGLIO!), solo così è possibile darti qualche consiglio mirato. Cosa contengono questi famigerati file testuali? |
|
|
|
|
|
|
#17 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
se non vuoi che vengano cancellati lavora col sistema di sicurezza (reimposta i permessi sui files, e intendo fallo a mano dall'esterno, non da dentro il programma via codice). se non ti è possibile significa che stai commettendo qualche errore concettuale...
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
in ke senso? lavorando sui ACL? sto cercando d capire come usare la GetSecurityInfo, xo faccio fatica:
int *pp, *p1,*p2,*p3,*p4,*p5; pp = GetSecurityInfo(hwnd, SE_KERNEL_OBJECT, DACL_SECURITY_INFORMATION, p1,p2,p3,p4,p5); qual é il problema? mi potresti fare un semplice esempio? xo parliamo d codice dentro il programma justo? Ultima modifica di $te : 02-01-2008 alle 00:44. |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ti stiamo dicendo che anche un DLL può essere aperta tramite un editor di risorse e modificata...anche se le stringhe le includi direttamente come variabili condivise nella DLL possono essere modificate con un editor esadecimale.
Se ti cancellano una file TXT esterno puoi rilevare la modifica e far smettere di funzionare il programma |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1262
|
ma quindi un file dll puoi aprilrlo e vedere il suo contenuto? xké il problema ke questo programma deve continuare ad andare:P ma allora se le dll sono modificabili, esiste un modo per includere in una cartella o in un file altri file xo ke sia impossibile (o quasi) da riaprire e quindi da leggere il contenuto?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:25.




















