Sì, c'è. È Alt+F4.
Questa è la combinazione di tasti per terminare un programma . L'unica ragione per cui non funziona come pubblicizzato sono i programmatori ignoranti che si rifiutano di seguire le linee guida del design Microsoft.
Questo problema persisterebbe anche con qualsiasi altro tasto di scelta rapida. Si potrebbe solo eventualmente creare una soluzione personalizzata con AutoHotKey (o strumenti simili) che uccida il processo. Ma questo molto probabilmente vi farebbe perdere un sacco di lavoro. Poiché questo è un metodo di forza bruta per uscire da un processo.
Voglio saperne di più!
OK, per quanto ne so, ci sono diversi modi in cui un'applicazione Windows può essere terminata.
- Inviando un
WM_CLOSE
window message alla finestra principale dell'applicazione.
- Distruzione della finestra dell'applicazione principale.
- Terminazione del processo.
Il primo modo è il modo pulito. Il modo in cui si intende chiudere un'applicazione. Questa è la stessa cosa che fa Alt+F4. Premendo Alt+F4 invierete semplicemente il messaggio WM_CLOSE
alla finestra dell'applicazione.
Ora, guardiamo tutti e 3 i modi in ordine inverso.
Terminare un processo
In Windows, un'applicazione vive in un processo . All'interno di quel processo, l'applicazione può creare una finestra . La finestra è ciò che vedrete sul vostro desktop e con cui interagirete.
Quindi, se il processo è il root di un'applicazione, se lo terminate, anche tutto il resto andrà via. Quindi questo sarebbe ottimo per completamente terminare un'applicazione. Ma questo ucciderà l'applicazione così bruscamente, che non avrà la possibilità di salvare alcun dato critico sul disco.
Quindi questo non è raccomandato!
Distruggere la finestra dell'applicazione principale
Come abbiamo appena imparato, la finestra dell'applicazione principale è solo parte del processo. Quindi, se distruggiamo solo quella finestra, avremo ancora il processo che appesta il posto :(
E sarebbe ancora più difficile sbarazzarsi di quella che sarebbe stata l'applicazione.
Questo è molto probabilmente l'approccio più cattivo per cercare di terminare un'applicazione. State lontani!
Posting a WM_CLOSE
message
Windows è un sistema operativo basato sui messaggi. Ciò significa che i componenti parlano tra loro inviandosi piccoli messaggi.
Uno di questi messaggi è il messaggio WM_CLOSE
.
Se un'applicazione riceve questo messaggio, si concorda che questa applicazione deve prendere tutte le azioni e poi la vita.
Ma ogni programmatore può decidere da solo come gestire il messaggio.
Come la documentazione ci ha detto prima, il comportamento default sarebbe quello di chiamare DestroyWindow
e, quindi eseguire il nostro approccio di uscita dall'applicazione #2.
Con la piccola differenza che, questa volta , è intenzionale e il programma ha tutte le possibilità di salvare i dati critici.
Conclusione
Quindi, come potete vedere, qui siamo praticamente in balia di ogni programmatore. Oppure corriamo il rischio di perdere i dati (non volete correre questo rischio!).