|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
leggere registro di sistema
Ciao a tutti,
avrei bisogno (da un programma in c++) di leggere da registro il percorso di access (se è installato ovviamente sul pc)... Facendo una ricerca nel registro (di ACCESS.EXE) mi sono perso, ci sono troppi valori..vorrei sapere il percorso di registro standard, insomma quello che su qualsiasi pc è uguale...vi risulta questo percorso? HKEY_CLASSES_ROOT AppID Applications MSACCESS.EXE command edit: oppure in alternativa non c'è (magari nella cartella di installazione di windows) un file che contiene il percorso degli eseguibili di tutti i programmi installati?
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 Ultima modifica di fulviettino : 14-04-2005 alle 15:43. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Mi puoi spiegare a cosa ti serve ? Per lanciare l'eseguibile ? Se è per questo si può fare anche in altro modo...
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
Quote:
spero di esser stato chiaro...
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Usa la API di Windows ShellExecute:
HINSTANCE ShellExecute(HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ); ShellExecute(NULL, "Open", "c:\\path\\tuonome.mdb", NULL, "c:\\path\\", SW_SHOW); |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
Quote:
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
Perfetto
Thanksss
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
Uff non riesco ad interpretare gli errori che mi restituisce la ShellExecute...
If the function fails, the return value is an error value that is less than or equal to 32. The following table lists these error values: 0 ERROR_FILE_NOT_FOUND ERROR_PATH_NOT_FOUND ERROR_BAD_FORMAT Come faccio ad interpretarli visto che mi vengono restituiti del numeri? Per esempio se non c'è il file la ShellExecute mi ritorna 2.. Ho fatto qualche prova con la FormatMessage ma non ne vengo a capo
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 |
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
usa ERRLOOK.EXE, no? oppure vai alle dichiarazioni degli errori negli headers di Windows e cerca un errore definito col codice che ti ritorna la ShellExecute, oppure ancora fa' un po' vedere come hai fatto questa ShellExecute (posta il codice della chiamata).
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
if(ret == ERROR_FILE_NOT_FOUND) printf("File non trovato");
|
|
|
|
|
|
#10 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
e se non è quello che fa, li prova tutti?
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Credevo che dovesse fare una semplice gestione dell'errore...comunque:
0 ERROR_FILE_NOT_FOUND 2 ERROR_PATH_NOT_FOUND 3 ERROR_BAD_FORMAT 11 SE_ERR_ACCESSDENIED 5 SE_ERR_ASSOCINCOMPLETE 27 SE_ERR_DDEBUSY 30 SE_ERR_DDEFAIL 29 SE_ERR_DDETIMEOUT 28 SE_ERR_DLLNOTFOUND 32 SE_ERR_FNF 2 SE_ERR_NOASSOC 31 SE_ERR_OOM 8 SE_ERR_PNF 3 |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
Quote:
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 |
|
|
|
|
|
|
#13 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
non ci posso credere... la pigrizia di non guardare l'error lookup!!!!!
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
Quote:
Cmq grazie per l'attenzione e per curiosità me la guarderò di sicuro! Cmq ho chiamato la shellexecute come suggeriva cionci ShellExecute(NULL, "Open", "c:\\path\\tuonome.mdb", NULL, "c:\\path\\", SW_SHOW) Che tu sappia la FormatMessage non andava bene per la gestione degli errori? E la ErrLookup di cui parli fa sempre parte delle API di windoz?
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 |
|
|
|
|
|
|
#15 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
l'error lookup è un programma stupidissimo dove tu inserisci il codice di errore, premi Invio e lui ti scrive la descrizione, in pratica è un'implementazione della FormatMessage; anziché farti dire tutte le costanti di tutti i possibili codici di errore ritornati dalla ShellExecute, potevi semplicemente avviare quel semplicissimo programmetto (ce l'hai per forza, sta assieme al PSDK, quindi se hai gli headers di Windows ci devi avere pure quello) e sapere subito qual'era il problema.
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Jun 2003
Città: Milano Moto:Suzuki_GSR_k6
Messaggi: 3358
|
Quote:
Grazie per i chiarimenti 71104!
__________________
A8N-E.VENICE3200.ZALMAN7000B-ALCU.2x512 CORSAIRXPERT3200.GEFORCE-N6600LE.SAMSUNGSP2004C.NEC3540A.TAGAN480U22.CENTURION5 |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:29.











l'error lookup è un programma stupidissimo dove tu inserisci il codice di errore, premi Invio e lui ti scrive la descrizione, in pratica è un'implementazione della FormatMessage; anziché farti dire tutte le costanti di tutti i possibili codici di errore ritornati dalla ShellExecute, potevi semplicemente avviare quel semplicissimo programmetto (ce l'hai per forza, sta assieme al PSDK, quindi se hai gli headers di Windows ci devi avere pure quello) e sapere subito qual'era il problema.







