Wenn es sich um einen registrieeten Dateitype handelt, dann lass doch einfach die Angabe des Programms weg
Code:
ShellExecute(
Handle, 'open', [color=red][b]'irgendwas.pdf'[/b][/color], [color=red][b]nil[/b][/color], nil, 9)
wenn die Datei nicht als Parameter, sonder direkt aufgerufen wird, das wird diese automatisch mit dem als Standard eingerichteten Programm geöffnet (z.B.: .txt mit Notepad, .pdf im Acrobat Reader, .wmv im Windows Media Player ...)