Ciao a tutti
come posso controllare se mi viene chiuso da task manager
un programma fatto in dotnet...
Prima che si chiude dovrei far eseguire una routine
Ciao a tutti
come posso controllare se mi viene chiuso da task manager
un programma fatto in dotnet...
Prima che si chiude dovrei far eseguire una routine
domando solo qualcosa di nuovo
La sintassi esatta in VB non la conosco, ma dovresti provare ad intercettare gli eventi di
SystemEvents
in c# sarebbe scritto:
codice:SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding); SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch );
Gli eventi SessionEnding e SessionSwitch si riferiscono alla disconnessione dell'utente e al cambio utente, non c'entrano nulla con la chiusura dell'applicazione. Se l'applicazione viene chiusa dal task manager tramite "Termina processo" non può "reagire", viene uccisa subito.
Amaro C++, il gusto pieno dell'undefined behavior.
Hai ragione.
Ho scritto una boiata.
Pero' ricordo di aver letto che l'evento da taskmanager , scheda applicazioni, termina operazione poteva essere intercettato ...
Vi spiego meglio almeno possiamo trovare un altra strada
Ho un pogramma in Visual basic e un in vb.net
Se chiudo quello in visual basic ... ho inserito un comando che chiude in automatico quello in dotnet e quindi non posso far eseguire questa routine dal programma i dotnet
ma dal programma in visual basic non posso chiedere al programma in vbnet di eseguire una routine e poi chiudersi.... chiaramente tutto in background
domando solo qualcosa di nuovo
Quello sì; di fatto invia alla finestra principale del processo un messaggio WM_CLOSE (che in .NET corrisponde all'evento Form.Closing).Originariamente inviato da maurorog
Pero' ricordo di aver letto che l'evento da taskmanager , scheda applicazioni, termina operazione poteva essere intercettato ...
Amaro C++, il gusto pieno dell'undefined behavior.
grazie della gentilezza
pottresti postarmi il codice in vb 6.0....
ad esempio il form principale in vb.net e direct.vb
domando solo qualcosa di nuovo
son andato nell' evento form closing
e ho inserito un msgbox
ma non appare questo messaggio
quando avviene la chiusura
ma non vi e un modo per mandargli un messaggio
tipo chiudi e il programma in dotnet recepisce il messaggio
e si chiude provvedendo ad esegiure la routine corretta
domando solo qualcosa di nuovo
Ovviamente se dall'applicativo VB6 uccidi il processo del programma .NET non verrà inviato alcun WM_CLOSE, ma verrà terminato il processo immediatamente...Posta il codice VB6 che usi per chiudere l'altra applicazione.
Amaro C++, il gusto pieno dell'undefined behavior.