Newsgroup: it.comp.lang.visual-basic
Titolo: Tagico problema con più sessioni aperte di Windows Xp

Salve a tutti,
non so se qualcuno si è già posto il problema in cui mi sono imbattuto io.
Vi spiego.
Il programma parte all'avvio del sistema e se con Xp accede l'utente pippo,
poi si sceglie 'cambia utente' ed accede pluto, ho che il mio programma è in
esecuzione due volte nei due diversi profili.
Primo problema:
Il programma accede ad un database e vi esegue delle operazioni che se
eseguite contemporaneamente da due istanze possono creare dei problemi.
Secondo problema:
Il programma si attiva alla connessione ad Internet e quindi nel momento in
cui mi connetto, tutte e due le istanze si attivano, creando un gran casino
nonchè a volte crash del programma stesso.
Esiste modo di sapere se il programma sta girando nell'account utente attivo
al momento?
C'è modo di sapere se ci sono altri account aperti e se su questi c'è il mio
programma in esecuzione.
Il programma funziona benissimo ma questa cosa proprio non l'avevo messa in
conto.
Idee?
Grazie
Michele

 programma in esecuzione.
crei un file e ci metti un bel lock sopra
quando lanci un'altra istanza controlli il file e se lockato esci

 quando lanci un'altra istanza controlli il file e se lockato esci
Ti ringrazio per la risposta ma purtroppo la tua soluzione non č corretta
per il mio problema perchč l'applicazione invece si deve aprire nel nuovo
profilo utente.
Invece quello che piů o meno deve eccadere č che le istanze aperte nei
profili attualmente non aperti si debbano praticamente "ibernare" e solo
l'istanza nel profilo attivo deve operare normalmente.
Non so se mi sono spiegato.
Quando mi connetto ad Internet, solo l'applicazione che gira nel profilo
dell'utente attivo deve rispondere all'evento.
Bella roba eh!
Salutoni

 Idee?
CUT
Allora alcuni spunti.....
a) C'è la necessità di ciò?....non so cosa fa ma sembra una complicazione
inutile questa!
b) se la a) è necessaria...2 account son 2 utenti quindi devi fare il
programma multi-utente.
Se lo hai pensato MONO utente...hai scazzato! Devi riguardare la logica per
farla diventare multi utente.
nella b) però dove hai il server?.....per me scazzi qualcosa!....che senso
ha frizzare un programma....passare ad una sua copia...modificare un db e
pretendere che non lo modifichi "scongelando" l'altra copia!
O metti ogni installazione in una dir diversa e blocchi l'accesso a tutti
tranne l'utente...ed allora son proprio programmi MONO utente in sessioni
diverse....
Ma se hai installato in una dir che tutte le sessioni vedono e a cui tutte
si riferiscono sei come a terminali diversi sul solito DB...e devi gestire
la concorrenza!!!
Quindi o ti metti un serverEXE nella dir condivisa che si occupa di
concorrenze e query sul DB centrale....o rivedi un po il tutto!
comunque
c'è l'api LogonUser
un esempio.....ma con Google ne trovi tanti...sperimenta un po!
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Bas
ic/VB_Databases/Q_20381361.html


Ti ringrazio per il link, ora proprio non ho tempo di vederlo, ci guarderò
il prima possibile.
In ogni caso il mio problema fondamentale rimane di sapere se c'è un modo o
no per conoscere se una certa istanza dell'applicazione sta girando nel
profilo utente attivo.
Se riesco a sapere questo dovrei aver risolto il problema.
Grazie

 il prima possibile.
CUT
pirla io allora a rispondere......
mi hai fatto solo perder tempo!
PLONK!
:-(