Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Sistemi Operativi > Windows 7/Vista/XP/ 2003

Notices

Rispondi
 
Strumenti discussione
Vecchio 06-12-2006, 12.52.55   #1
Perito80
Newbie
 
Registrato: 25-05-2005
Messaggi: 14
Perito80 promette bene
Variabili d'ambiente

Ciao a tutti,
per poter far partire un programma senza che mi dia errore devo inserire nelle variabili d'ambiente il percorso della licenza.
Il problema è che se creo la variabile LM_LICENSE_FILE con il percorso giusto tramite Pannello di controllo -> Sistema -> Avanzate -> Variabili d'ambiente e la creo nella sezione "Variabili d'ambiente per l'utente ..." tutto funziona perfettamente ed il programma si apre. Se invece creo la variabile tramite un processo creato da me (con il linguaggio C++) che mi lavora direttamente sul registro di sistema creando in HKCU\Environment la variabile LM_LICENSE_FILE (che poi viene creata in automatico anche su HKU\S ....\environment) il programma al momento dell'apertura mi da errore e si richiude.
Se dopo aver creato la variabile agendo solo sul registro di sistema (e quindi il programma non funziona) vado su Pannello di controllo -> Sistema -> Avanzate -> Variabili d'ambiente seleziono la variabile, faccio modifica, non modifico assolutamente nulla e confermo tutto il programma ora funziona perfettamente. Lo stesso accade se disconnetto e riconnetto il sistema.
Sapete dirmi agendo su Pannello di controllo -> Sistema -> Avanzate -> Variabili d'ambiente che cosa succede, oltre che modificarsi quella parte del registro di sistema che già so andare a modificare, che non mi rende necessario la disconnessione del sistema?

Grazie!!
Perito80 non è collegato   Rispondi citando
Vecchio 06-12-2006, 14.29.25   #2
gsmet
Gold Member
 
Registrato: 13-08-2003
Messaggi: 2.605
gsmet promette bene
Perchè non basta modificare la chiave, ma devi aggiornare l'ambiente di sistema.
Ora sinceramente non mi ricordo la funzione in c++ o win32 che aggiorna le variabili di sistema ma c'è sicuramente.

....

Abbè me so incuriosito e so andato a ripescare la pagina di MSDN che spiega come si fa.

http://msdn.microsoft.com/library/de..._variables.asp

Giustamente cambiare la chiave non basta, devi inviare anche il messaggio di aggiornamento delle impostazioni.
___________________________________

-- Tommaso, Programmatore R&D

Ex-Microsoft Student Partner - Università degli Studi di Padova (non si può essere studenti tutta una vita)
Ex-prof (non si può essere precari tutta una vita)

"Non li fanno più i virus di una volta"
gsmet non è collegato   Rispondi citando
Vecchio 06-12-2006, 18.48.28   #3
Perito80
Newbie
 
Registrato: 25-05-2005
Messaggi: 14
Perito80 promette bene
Purtroppo non uso come compilatore il Visual Studio, ma il Bordland C++ Builder 6.
In questo compilatore la funzione SetEnvironmetVariable non esiste.

Sapete dirmi qual'è l'equivalente per il C++ Builder?
Perito80 non è collegato   Rispondi citando
Vecchio 06-12-2006, 19.45.38   #4
gsmet
Gold Member
 
Registrato: 13-08-2003
Messaggi: 2.605
gsmet promette bene
Mi sembra strano che non ci sia visto che c'è in Delphi, hai incluso le librerie apposite? La borland spesso le mette in altri posti.

Cmq vedo che non hai letto la parte giusta:

Quota:
To programmatically add or modify system environment variables, add them to the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\Session Manager\Environment registry key, then broadcast a WM_SETTINGCHANGE message with lParam set to the string "Environment". This allows applications, such as the shell, to pick up your updates. Note that the values of the environment variables listed in this key are limited to 1024 characters.
Tu hai fatto tutto corretto, ti manca solo di lanciare il messaggio.
___________________________________

-- Tommaso, Programmatore R&D

Ex-Microsoft Student Partner - Università degli Studi di Padova (non si può essere studenti tutta una vita)
Ex-prof (non si può essere precari tutta una vita)

"Non li fanno più i virus di una volta"
gsmet non è collegato   Rispondi citando
Vecchio 07-12-2006, 12.40.59   #5
Perito80
Newbie
 
Registrato: 25-05-2005
Messaggi: 14
Perito80 promette bene
Puoi darmi un codice come esempio della funzione per mandare il messaggio che non riesco a farlo funzionare, mi da sempre errore di compilazione?
Possibilmente il codice completo, anche con le librerie da includere.

Grazie!
Perito80 non è collegato   Rispondi citando
Vecchio 07-12-2006, 13.16.28   #6
gsmet
Gold Member
 
Registrato: 13-08-2003
Messaggi: 2.605
gsmet promette bene
Mi spiace, non conosco C++, oltre ad avere una stasi programmativa da qualche anno. Penso che seguendo le descrizioni di MSDN dovresti farcela, partendo da qua:
http://msdn.microsoft.com/library/de...tingchange.asp
___________________________________

-- Tommaso, Programmatore R&D

Ex-Microsoft Student Partner - Università degli Studi di Padova (non si può essere studenti tutta una vita)
Ex-prof (non si può essere precari tutta una vita)

"Non li fanno più i virus di una volta"
gsmet non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
[C/C++] Relazione tra processore e dimensione delle variabili UG0_BOSS Programmazione 2 26-05-2007 19.52.16
variabili d'ambiente omar88 Windows 7/Vista/XP/ 2003 0 03-03-2006 21.10.52
[MDV] Variabili X includes non trovate miciomao Linux e altri Sistemi Operativi 5 18-01-2006 17.57.24
[LINUX] Java sdk1.4 settare variabile d'ambiente GiulioCesare Linux e altri Sistemi Operativi 2 12-09-2005 21.59.09
Variabile d'ambiente per C:\Programmi gutguy Programmazione 3 12-03-2005 19.25.56

Orario GMT +2. Ora sono le: 09.00.43.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.