2009-06-17 7 views
2

私は、デルファイアプリケーション内からシステム全体の環境変数を設定しようとしています。ドキュメントでは、HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environmentにレジストリキーを追加し、WM_SETTINGCHANGEメッセージをブロードキャストするように指示しています。誰でもこのメッセージをブロードキャストする方法を知っていますか?Delphi(Win32)から環境変数を設定

PS。私はコンソールアプリケーションでこれをしようとしています。

答えて

1

また、この問題とメッセージを送信するためのサンプルコードを提供するトピックがEmbarcadero Developer Networkにあります。 WM_SETTINGCHANGEについては、MSDNのドキュメントで推奨されているように、著者は、SendMessageTimeoutを使用しています。

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

+1

私はリンク先の記事からコードを使用していました。 Reg.WriteStringを使用している環境でPathを設定すると間違っていることがわかりました。Reg.WriteExpandStringを使用する必要があります – BennyBechDk

5

コールSendMessage。ターゲットウィンドウとしてHWnd_Broadcastを使用してください。

より良いオプションはSendNotifyMessageで、すべての受信者が返信するのを待っていません。