Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258

    [C++] Chiudere un'applicazione

    devo creare un'applicazione che mi chiuda un'applicazione aperta... come si fa? Grazie
    Andate su BiteFight

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: [C++] Chiudere un'applicazione

    Originariamente inviato da frarugi87
    devo creare un'applicazione che mi chiuda un'applicazione aperta... come si fa? Grazie
    Dipende da cosa "sai" della applicazione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    in che senso cosa sai?

    allora, l'app è RealVNC. dopo averla lanciata appare un'icona nel system tray e avvia un server che si mette in ascolto su una porta. voglio creare un programma che riesca a chiudere questo programma...
    Andate su BiteFight

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da frarugi87
    in che senso cosa sai?

    allora, l'app è RealVNC. dopo averla lanciata appare un'icona nel system tray e avvia un server che si mette in ascolto su una porta. voglio creare un programma che riesca a chiudere questo programma...
    Innanzitutto bisogna differenziare tra una terminazione "gentile" e una "brutale".

    Se una applicazione utilizza delle finestre (anche nascoste, se non mostra sempre una interfaccia utente), la cosa migliore è inviare alla finestra il messaggio WM_CLOSE. Questa è una terminazione "gentile".

    Altrimenti c'è la funzione Win32 TerminateProcess ma bisogna avere l'handle del processo. Questa però è una terminazione brutale.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    beh, penso che mi serva una terminazione "gentile", dato che mi serve che interrompa un servizio...
    però per inviare il messaggio di wm_close
    1) come si fa?
    2) cosa devo sapere?
    2 bis) come faccio a saperlo?

    Andate su BiteFight

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da frarugi87
    però per inviare il messaggio di wm_close
    1) come si fa?
    2) cosa devo sapere?
    2 bis) come faccio a saperlo?
    Per inviare un messaggio ad una finestra devi avere l'handle HWND della finestra. Un handle di finestra lo si può ottenere in vari modi. Se sai il titolo della finestra e/o la classe della finestra, c'è la funzione FindWindow.

    Se hai il VC++, hai anche il tool Spy++. Prima di fare qualunque cosa, usalo per indagare e vedere se il processo di RealVNC ha delle finestre.


    P.S. Per lavorare in ambiente Win32, un pochino di background ci vuole. Se non sai cosa è un handle HWND, cosa è la classe di una finestra, ecc.... non fai molto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    come ambiente di sviluppo uso il Visual Studio 2005...
    Comunque non so tantissimo di handle e cose varie. però ho cercato un pò su internet quando dovevo fare un'applicazione che mi chiedeva di gestire un'handle di una finestra e quindi me la posso cavare...
    Andate su BiteFight

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 © 2024 vBulletin Solutions, Inc. All rights reserved.