2009-06-17 6 views
2

Я пытаюсь установить переменную окружения всей системы из моего приложения delphi. В документации говорится добавить ключ реестра в HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment, а затем передать сообщение WM_SETTINGCHANGE. Кто-нибудь знает, как передавать это сообщение?Установить переменные среды из Delphi (Win32)

PS. Я пытаюсь сделать это в консольном приложении.

ответ

1

Существует также тема в сети разработчиков Embarcadero, посвященная этой проблеме и предоставляющая образец кода для отправки сообщения. Автор использует SendMessageTimeout, как это рекомендовано в документе MSDN для WM_SETTINGCHANGE:

http://edn.embarcadero.com/article/28254

+1

я использовал код из статьи связана между собой. Я обнаружил, что установка пути в среде с использованием Reg.WriteString IS WRONG, он должен использовать Reg.WriteExpandString – BennyBechDk

5

Звонок SendMessage. В качестве целевого окна используйте HWnd_Broadcast.

Лучшим вариантом может быть SendNotifyMessage, который не дожидается возвращения всех получателей.