Originariamente inviato da mauimaui4
----------------
>>>Nota:
Al massimo riesco a lanciare una applicazione "C:\Program Files\winamp\winamp.exe"
Infatti a differenza di xp bisogna lanciare la stringa con apici

--estratto script
Run_Winamp = """C:\Program Files\Winamp\winamp.exe"""
Set wshshell = CreateObject("Wscript.Shell")
wshshell.Run Run_Winamp
EOF
ma funziona su win7 e non su xp e come si nota la routine non ha argomenti a seguire
>>>End Nota
----------------

Se si potesse fare in una versione che andasse bene sia su Xp che win7 non sarebbe tanto male... visti i dannati risultati...
Certo che si può fare, ma non devi usare i nomi diretti delle cartelle di sistema, perchè queste sono differenti in tutte le versioni di Windows e dipendono anche dalla lingua del sistema operativo.
Ad esempio, la cartella Programmi su Windows XP italiano è "\Programmi\",
ma su Windows XP inglese è "\Program Files\"
(cosa sarà mai in Windows XP tedesco???)

Per cui qualsiasi cartella tu usi andrà bene su quella versione ma non su tutte le altre.


La soluzione è usare le costanti relative alle SpecialFolders preposte da Microsoft, che funzioneranno in qualsiasi lingua e versione di Windows:

http://msdn.microsoft.com/en-us/library/0ea7b5xe(v=vs.85).aspx

Nelle versioni di Windows a 64bit esistono poi 2 posizioni differenti per la cartella "Programmi ":
- quella per i programmi a 32 bit : Program Files (x86)
- quella per i programmi a 64 bit : Program Files

Infine, i percorsi vanno sempre racchiusi tra doppi apici perchè è il solo modo per individuare correttamente i percorsi nel caso contengano spazi.