wenn mich nicht alles täuscht darf der filename wirklich nur der dateiname und pfad der datei sein alle parameter müssen im dafür vorgesehenen feld stehen
also
ShellExecute(0, 'open', PChar('C:\windows\explorer.exe'), pchar('/e,' + DirectoryListBox1.Directory), nil, SW_SHOW)
außerdem darfste nicht vergessen die
unit shellapi einzutragen wenn du das noch nicht gemacht hast