Es gibt auch noch einen Trick, indem man die _Timer-UDF verwendet. Die Timer-Funktion wird auch bei den Datei-Requestern weiterhin aufgerufen, sodass man dort die Endung auslesen kann.
Das hier funktioniert zumindest unter Win7 (könnte sein, dass das unter XP eine andere CLASS ist):
Spoiler anzeigen
[autoit]
#include <Timers.au3>
Global $sExt = ''
$hGui = GUICreate('test')
_Timer_SetTimer($hGui, 250, '_GetExtension')
$Filedir = FileSaveDialog("Bitte einen Namen angeben.", @ScriptDir, "css Datei (*.css)|Javascript Datei (*.js)", 2)
_Timer_KillTimer($hGui, '_GetExtension')
MsgBox(0,0,$sExt)
Func _GetExtension($hWnd, $Msg, $iIDTimer, $dwTime)
$sExt = ControlGetText("Bitte einen Namen angeben.", '', '[CLASS:ComboBox; INSTANCE:2]')
EndFunc