Fantom <szczukot@SPAM.poczta.onet.pl> napisał(a):
> Witam
> Chcialbym zmienic sciezke do TEMP. Recznei mozna to zrobic piszac po
> prostu SET TEMP=C:\TEMP. Mozna tez zrobic to we wlasciwosciach kompa.
> Ale mam kilka pytan :
> 1) jak to zrobic z poziomu :kodu" czyli uzywajac np shell.exe itp ?
Trzeba zmodyfikować wpis w rejestrze. W jakim języku?
> 2) po ustawieniu tej zmiennej w rejstrze pojawia sie tak :
> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
> Manager\Environment - oryginalna wartosc
> HKEY_CURRENT_USER\Environment - dla aktualnego usera.
> Mam rozumiec, ze zasze sa ladowane zmienne z tej pierwszej sciezki,
> chyba ze user ma jakies konkretne dla siebie to wtedy te "nieoryginalne"
> sa wazniejsze ? Czyli jak do tej drugiej sciezki przypisze temp=c:\temp to
> zadziala dla tego usera a dla innych nie ?
Tak, są zmienne systemowe i zmienne poszczególnych użytkowników.
> 3) po zmianie w rejestrze tej opcji co trzeba wywolac aby system zaczal
> uzywac nowcyh zmiennych (nie liczac resetu) ?
> Fantom
Trzeba wysłać broadcastowy komunikat powiadamiający o zmianie ustawień:
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)
L"Environment", SMTO_ABORTIFHUNG, 50000, &dwReturnValue);
Kod: http://www.grzegorz.net/programowanie/propagateVariables.cpp
Binarka: http://www.grzegorz.net/pliki/PropagateVariables.exe
-- Grzegorz Niemirowski http://www.grzegorz.net/ OE PowerTool i aktualności ze świata Outlook Express: grzegorz.net/oe Uptime: 9 days, 3 hours, 37 minutes and 10 secondsReceived on Tue Sep 4 18:15:07 2007
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Tue 04 Sep 2007 - 18:42:01 MET DST