我想從我的delphi應用程序中設置系統範圍的環境變量。該文檔說將一個註冊表項添加到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment,然後廣播WM_SETTINGCHANGE消息。任何人都知道如何廣播此消息?從Delphi(Win32)設置環境變量
PS。我試圖在控制檯應用程序中執行此操作。
我想從我的delphi應用程序中設置系統範圍的環境變量。該文檔說將一個註冊表項添加到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment,然後廣播WM_SETTINGCHANGE消息。任何人都知道如何廣播此消息?從Delphi(Win32)設置環境變量
PS。我試圖在控制檯應用程序中執行此操作。
Embarcadero開發者網絡中還有一個主題涵蓋了這個問題,並提供了發送消息的示例代碼。筆者採用SendMessageTimeout如MSDN文檔推薦WM_SETTINGCHANGE:
致電SendMessage
。使用HWnd_Broadcast
作爲目標窗口。
更好的選項可能是SendNotifyMessage
,它不會等待所有收件人返回。
我使用鏈接的文章的代碼。我發現使用Reg.WriteString IS WRONG在環境中設置Path時,應該使用Reg.WriteExpandString – BennyBechDk 2010-11-26 12:13:13