WSTBoss
Messages postés16Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention27 octobre 2011
-
16 déc. 2002 à 17:57
WSTBoss
Messages postés16Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention27 octobre 2011
-
23 déc. 2002 à 15:04
Bonjour à tous,
voilà mon probleme :
sous windows 2000, j'ai un petit prog qui crée une variable d'environnement et qui envoie un message à windows pour lui dire que cette variable existe, voici le code :
procedure SetSystemEnvironmentVariable (const name, value : string);
var
rv : DWORD;
begin
with TRegistry.Create do
try
RootKey := HKEY_LOCAL_MACHINE;
OpenKey ('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', False);
WriteExpandString (name, value);
SendMessageTimeout (HWND_BROADCAST, WM_SETTINGCHANGE, 0, LParam
(PChar ('Environment')), SMTO_ABORTIFHUNG, 5000, rv);
finally
Free
end
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
SetSystemEnvironmentVariable('TOTO','c:\home');
end;
La variable est bien connue dans une fenetre MS-Dos mais si je lance un fichier bat (par double click ou lancer par un autre programme) qui fait reference à cette variable alors il ne la trouve pas.
Exemple du contenu de mon fichier bat:
@echo off
echo %TOTO%
pause
Resultat:
%TOTO% n'existe pas.
Si je ferme ma session Windows et que je la réouvre alors là, la variable est bien connue !
Quelqu'un a deja rencontré le probleme ?
merci d'avance pour votre aide.
WSTBoss! 8-)
A voir également:
"Build date" "php version 4.4.3" "server api" "php variables"