OVH Cloud OVH Cloud

[débutant] variables

3 réponses
Avatar
Akut
Bonjour,

dans une fenêtre ms-dos, je tape :
set toto=5
et après je peux facilement vérifier que ma variable est bien déclarée en
tapant echo %toto%

la même chose dans un programme écrit avec lcc-win32 :
system("set toto=5");
system("echo %toto%");
m'affiche %toto% à la place de 5 dans la console ms-dos.

pourquoi ? comment y remédier ?

(j'ai essayé d'uiliser le programme setx.exe qui déclare des variables
d'environnements mais
ça ne fait pas ce que je cherche car comme dit la doc :
"Variables set using SETX are only available in future command windows and
not
in the current command window.")

Merci pour votre aide.

3 réponses

Avatar
Christian ASTOR
Akut wrote:

la même chose dans un programme écrit avec lcc-win32 :
system("set toto=5");
system("echo %toto%");
m'affiche %toto% à la place de 5 dans la console ms-dos.

pourquoi ? comment y remédier ?



En lisant les réponses ?
http://tinyurl.com/cnsl8
Avatar
Akut
"Christian ASTOR" a écrit dans le message de
news: 42d6a651$0$12994$
Akut wrote:

la même chose dans un programme écrit avec lcc-win32 :
system("set toto=5");
system("echo %toto%");
m'affiche %toto% à la place de 5 dans la console ms-dos.

pourquoi ? comment y remédier ?



En lisant les réponses ?
http://tinyurl.com/cnsl8



j'ai lu, mais peux-tu me dire comment utiliser la fonction
SendMessageTimeout
dans un batch ou avec lcc ? parce que modifier la bdr, je l'avais fais avec
le
prog setx.exe.

merci !
Avatar
Christian ASTOR
Akut wrote:

j'ai lu, mais peux-tu me dire comment utiliser la fonction
SendMessageTimeout
dans un batch ou avec lcc ? parce que modifier la bdr, je l'avais fais avec
le prog setx.exe.



Avec les fonctions API classiques de la registry :

RegOpenKeyEx()-RegSetValueEx()-RegFlushKey()-RegCloseKey()
et SendMessageTimeout() si ERROR_SUCCESS retourné.