Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    156

    Determinare il percorso di un applicativo

    Buona sera a tutti.
    Nel progetto che sto realizzando,creo dei report di testo in formato pdf.E' possibile determinare il percorso di acrobat reader installato sul pc dove andro' ad installare il programma senza forzarlo da codice in quanto su altri computer diverso dal mio potrebbero averlo installato sotto una diretory diversa.
    La sintassi usata da me e' la seguente:

    Dim acropath As String, pdfpath As String, retval As String
    pdfpath = "c:\TavolaDB\Misure\" & DirectoryTXT & "\Plot" & ProgressivoMisura & ".pdf"
    acropath = "C:\Programmi\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"
    retval = Shell(acropath & " " & pdfpath, vbMaximizedFocus)

    Mi servirebbe sapere come impostare in modo piu' dinamico la variabile acropath
    Grazie

  2. #2
    Il valore che ti interessa si trova in HKEY_LOCAL_MACHINE\Software\Adobe\Acrobat Reader\7.0\InstallPath\@ (dove 7.0 è la versione - la 7 è la più recente - e @ indica la chiave predefinita).
    Puoi utilizzare il modulo generico per la gestione del registro riportato in questa pagina (in basso) per leggere ed utilizzare questo valore nella tua applicazione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, sinceramente, per come la vedo io, questo non è il metodo da seguire..in quanto non è detto che sul computer, dove installi il programma, ci sia acrobat, magari potrebbe usare un'altro programma per leggere i pdf. In pratica,secondo il tuo approccio, ci sono diverse variabili da tenere in considerazione:
    1) c'è acrobat? se c'è, quale versione? (questo per il fatto che nel registro cambia chiave)
    2) se non c'è acrobat, c'è un'altro lettore pdf?
    3) se non c'è nessun programma installato per leggere i pdf, prevedere di farlo installare.

    Detto questo, se c'è un programma installato per leggere i pdf, questi file saranno associati al programma di lettura, pertanto ti basterebbe usare la funzione api ShellExecute con il verbo "open" e passargli solo il file con l'estenzione, in automatico, se c'è un programma per leggerlo, viene aperto il programma per leggere il file. Altrimenti dovresti vedere, tramite registro, sei i files con estensione pdf sono associati a qualche programma, e in tal caso comportarsi di conseguenza.
    Jupy

  4. #4
    Hai ragione, è una soluzione molto più furba.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    156
    Grazie 1000.Potete farmi un esempino pratico in base al codice che ho postato in precedenza cosi' aggancio meglio.
    Ciao

  6. #6
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    ma l'hai letta la guida su shellexecute ?
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    156
    Grazie 1000

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.