Originariamente inviato da gibra
Il registro non c'entra.

Devi usare le funzioni API apposite per ottenere i nome corto (formato 8.3)
GetShortPathName
http://allapi.mentalis.org/apilist/G...PathName.shtml

Per ottenere quello lungo dal nome corto
GetFullPathName
http://allapi.mentalis.org/apilist/G...PathName.shtml

Ciao
purtroppo non posso ricompilare il tutto...per motivi che sarebbero troppo lunghi da spiegare devo trovare una soluzione più veloce.

ne ho trovate 2, ma per la seconda avrei bisogno di un aiutino:

1) modificare da c:\progra~1\micros~2\office11\excel.exe a c:\prova\excel.exe installando office 2003 nella cartella prova....questo comporta però la reinstallazione di office 2003 a tutti i client.

2) far funzionare quel maledetto ELSE perchè così com'è il codice mi da errore già al primo percorso e vorrei che se non trovasse winword o excel nella cartella c:\progra~1\micros~2\office11\ vada nella cartella c:\winword\winword.exe o c:\excel\excel.exe:
il pezzo incriminato è questo:
codice:
 
  If Tipo = 1 Then
       If Len(Dir$("z:\luca\win.txt")) <> 0 Then
          x = Shell("c:\progra~1\micros~2\office11\winword.exe " & filefine, 3)
       Else
          x = Shell("c:\winword\winword.exe " & filefine, 3)
       End If
    Else
       If Len(Dir$("z:\luca\win.txt")) <> 0 Then
          x = Shell("c:\progra~1\micros~2\office11\excel.exe " & filefine, 3)
       Else
          x = Shell("c:\excel\excel.exe " & filefine, 3)
       End If
    End If