Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941

    [vb.net] controllo chiusura programma

    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

  2. #2
    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 );

  3. #3
    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.

  4. #4
    Hai ragione.
    Ho scritto una boiata.

    Pero' ricordo di aver letto che l'evento da taskmanager , scheda applicazioni, termina operazione poteva essere intercettato ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    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

  6. #6
    Originariamente inviato da maurorog
    Pero' ricordo di aver letto che l'evento da taskmanager , scheda applicazioni, termina operazione poteva essere intercettato ...
    Quello sì; di fatto invia alla finestra principale del processo un messaggio WM_CLOSE (che in .NET corrisponde all'evento Form.Closing).
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    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

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    941
    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

  9. #9
    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.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.