Der Umgebungsblock ist nur für den gesamten Prozess bestimmbar. Nachträglich ändern ist nicht offiziell möglich.
Der OpenDialog könnte mit
SHGetFolderPath die Pfade auslesen, was bedeutet, dass Impersonate nicht funktioniert, weil man das Token direkt übergeben müsste. D.h. es wird ein neuer Prozess benötigt.