A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
★再起動しないで反映させるには API 関数の『SendMessageTimeout』で可能です。
・ちなみに、レジストリの環境変数の領域は『ユーザ環境変数』と『システム環境変数』の2つが
ありますが『システムの環境変数』領域ですね。
・ユーザー環境変数⇒『HKEY_CURRENT_USER\Environment』
・システム環境変数⇒『HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment』
・下にサンプルを載せておきます。→ただし C 言語ですよ。ごめんなさい。
●サンプル
DWORD dwReturnValue;
LRESULT Ret;
printf( "★レジストリ内容を反映させています...\n" );
Ret = SendMessageTimeout( HWND_BROADCAST, WM_SETTINGCHANGE, 0,
(LPARAM)TEXT("Environment"), SMTO_ABORTIFHUNG, 5000, &dwReturnValue );
if ( Ret == 0 ){
printf( "\n×正常にレジストリ内容を反映できませんでした。\n" );
}
else{
printf( "\n★正常にレジストリ内容を反映しました。\n" );
}
関連:
・http://oshiete1.goo.ne.jp/qa2616715.html→『システム環境変数の削除の自動化(バッチ化)』
・http://oshiete1.goo.ne.jp/qa2613662.html→『C言語を用いた環境変数の作成/削除方法』
・http://msdn.microsoft.com/library/ja/default.asp …
最後に:
・『SendMessageTimeout』関数でシステム関連のアプリケーションに WM_SETTINGCHANGE の
メッセージを送ります。これで、環境変数の内容が更新(反映)されます。
・システム関連のアプリケーションとは、『エクスプローラ』、『プログラム』、
『マネージャ』、『タスク マネージャ』、『コントロール パネル』などです。
・なお、Windows 95、Windows 98 の環境ではこのメッセージに応答しません。→再起動しましょう。
・以上。おわり。
参考URL:http://support.microsoft.com/kb/104011/ja
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Windows10環境にてWindowsUpdate後の再起動を完全に抑止する方法はございますか? 10 2023/06/16 09:57
- ルーター・ネットワーク機器 transix回線で契約、外部からIPv6でNASにアクセスしたい 1 2023/01/26 15:07
- Windows 10 レジストリの変更が反映されない 5 2023/03/02 22:11
- Excel(エクセル) 2列のエクセルの表を変更したい 6 2022/07/01 11:19
- Windows 10 Windows11タスクバーやエクスプローラー、スタートメニュー 動画全画面時にカーソルが見えない 1 2022/04/08 00:03
- ツイキャス ツイキャスでアカウントロックされたとき、IPアドレスが自動取得で変更されても、PC端末が特定される? 1 2022/10/15 15:49
- その他(Microsoft Office) Office(Windows版,Word/Excel/PowerPoint等)にログインできません 4 2022/07/24 15:18
- Excel(エクセル) 3つのエクセルをそれぞれのシートのセルに反映させたいときはどうしたらいいでしょうか? 例えば①シート 4 2023/04/25 20:13
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- PDF 数日前まで閲覧できていたPDFファイルが閲覧できなかった理由はなんでしょうか。ファイル名が変更された 3 2022/04/11 00:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FORMが開いているかどうかの確...
-
起動中のアプリ、ソフトの取得
-
タスクトレイ常駐するプログラ...
-
Accessのフォームをコマンドラ...
-
DLLをREGSVR32しないで利用する...
-
コマンドプロンプトでIEを起動...
-
ilink32.exe'を実行できないエラー
-
メモリの「コミット済み」の意...
-
プロファイルエラーについて
-
デスクトップアイコンに黒い四...
-
\\Device\\Harddisk1\\DR1 でコ...
-
リカバリしたにも関わらずパソ...
-
メモリが"written"になることは...
-
HDD内のリカバリー領域有無を調...
-
RECOVERY(D:)ってなんですか?
-
NECノートPC 初期化方法を教え...
-
backing storeって何ですか?
-
タスクバーがウインドウに隠れ...
-
Chromium OS 32bitのブート用US...
-
コマンドプロンプトが重い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FORMが開いているかどうかの確...
-
DLLをREGSVR32しないで利用する...
-
起動中のアプリ、ソフトの取得
-
タスクスケジュールで定時にポ...
-
Accessのフォームをコマンドラ...
-
Javaで環境変数を動的に変更す...
-
タスクトレイ常駐するプログラ...
-
VBscriptでのエクセルの起動に...
-
VB6.0のツールバー標準メニュー...
-
プログラムからOS標準ブラウザ...
-
VC++からブラウザを起動し...
-
コマンドプロンプトでIEを起動...
-
VBでメールを起動させるには・・・
-
VB.NETでIEを起動してそのIE...
-
「mailto:」の書式
-
CPU稼働率を向上させる方法
-
CPU使用率が100%になるソフト
-
WebBrowserコントロールでの印刷
-
VBのフォームサイズについて
-
IPアドレスのみをMsgBoxで表示...
おすすめ情報