Newsgroup: it.comp.lang.visual-basic
Titolo: Chiusura forzata di un applicativo

In VB vorrei sviluppare un applicativo che mi permetta di eseguire le
seguenti operazioni:
- lanciare un secondo applicativo
- verificare l'attività del secondo applicativo (non cosa fa l'utente ma se
l'utente sta utilizzando l'applicativo)
- se non viene eseguita alcuna operazione con il secondo applicativo per un
tot di tempo killare l'applicativo
Qualcuno mi potrebbe dare uno spunto?
Grazie
Gio

non vorrei dire stupidaggini, ma mi sembra un po' complicato... e non
credo
tu abbia dato molte informazioni.
La situazione piu' semplice credo sia quella in cui tu sviluppi tutti e
due i software e che risiedono entrambi sullo stesso computer.
Nel qual caso, nell'applicativo da monitorare, magari ti scrivi una
chiave di
registro in cui segni l'orari delle varie azioni. Il secondo programma
controlla
quella chiave, si fa la differenza e killa il processo.
Se poi le cose si complicano... beh.. lo scenario e' infinito, e
suppongo anche
le possibili soluzioni, o impossibilita'.

 tu abbia dato molte informazioni.
Rileggendomi ti do ragione!
Il problema è quello classico di un programma client/server sviluppato da
terzi (di cui non dispongo del codice) con licenza a utilizzo di risorsa.
Gli utenti aprono al mattino e chiudono la sera il programma noncuranti del
fatto che utilizzino una risorsa senza sfruttarla e soprattutto impediscano
ad altri l'utilizzo.
Cio' che vorrei è impedire questa situazione. Se l'utente non interagisce
con il programma per un tot di tempo allora chiudo la sessione client,
liberando quindi la licenza per altri utenti.
In buona sostanza vorrei che il programma "supervisore" vada ad azzerare un
timer ogni volta che viene eseguita un'operazione dal programma
"monitorato".
Qualora il timer raggiunge un valore prestabilito, l'applicativo monitorato
viene killato.
Grazie per l'interessamento.
Bye
Gio


Beh il problema non è chiudere l'applicativo
MA COME FARE A CAPIRE che non stanno facendo nulla!!!
Sopratutto non avendo i sorgenti del coso
Se anche intercetti i click sulla tastiera ...come fai a sapere che sono
fatti proprio sull'applicativo?
con gli hook vedi che la tastiera, ad esempio, è in uso ma come fare a dire
che sta scrivendo una email...o giocando a tetris...o usando l'applicativo?
guarda un po qui
http://www.vbaccelerator.com/home/VB/Code/Libraries/Hooks/vbAccelerator_Hook_Library/article.asp
forse ti è utile
Soluzione più brutale
Monitorizza una directory dove ci sono i file del programma...guarda se
cambia qualcosa...o dove è il database....
in genere se io aggiungo o rimuovo qualcosa...o salvo un disegno....qualche
file cambio dimensione...datamodifica....basterebbe monitorare ogni minuto
questi dati....
se non cambiano ad esempio per 10 volte ...stacco tutto

 l'utente sta utilizzando l'applicativo)
     Questo temo proprio che non sia possibile, o almeno non credo esista un
sistema valido per qualsiasi applicativo. Forse puoi monitorare se
l'applicativo fa delle chiamate alle API o per quanto tempo tiene il focus
(boh, e' un'idea buttata li'). Facci sapere se risolvi in qualche modo
Ciao

 tot di tempo killare l'applicativo
Tieni monitorato i mousemove e l'uso della tastiera, congiuntamente al 
fatto che l'app abbia il fuoco.
Cioè, se non ha il fuoco, sbattitene.
Se ha il fuoco, ad ogni mousemove e agni tasto premuto, marchi l'ora in 
una variabile.
Poi, ogni tot secondi, controlli quanto 'è vecchia' tale variabile e, 
se supera la soglia, kill!
Alberto
-- 
Autore di
"Petting for Dummies"