Ну, конечно, есть вызов API SetCurrentDirectory Win32. Однако это только меняет рабочий каталог для вызывающего процесса. Поскольку каждый раз, когда вы запускаете исполняемый файл, ОС запускает для него новый процесс, хорошего способа сделать это не будет.
Был ТАК вопрос о получении этой информации. Возможно, что-то там поможет вам. Принятый ответ выглядит так, как будто он может дать вам прямой доступ к нему, но он также выглядит действительно опасным. Если вы синевали свою систему или запускали «Синдром Китая» или что-то еще, это была ваша вина, а не моя. : -)