Ähhh ganz simple Idee - Du hast in dem ersten Beitrag mehrmals pfd statt pdf verwendet - vielleicht auf deinem Rechner auch?
Oh, das ist mir jetzt etwas peinlich.
Aber: Nein, im Programm ist das schon korrekt.
Und: Dann würde ShellExecute nicht SE_ERR_NOASSOC zurückgeben sondern ERROR_FILE_NOT_FOUND, es sei denn, auch eine Test.pfd wäre vorhanden.
Trotzdem Danke für den Hinweis.