arresto imprevisto
Alcuni punti:
Affidabilità
Se è necessaria un'affidabilità del 100%, ciò non è possibile. È una "condizione di razza". Al momento non è possibile aprire atomicamente una finestra sincronizzando contemporaneamente l'esistenza di tale finestra con il filesystem. Immagina questa sequenza di eventi, in ordine cronologico dal precedente al successivo:
- Si apre un'applicazione o un'applicazione apre una nuova finestra.
- L'API di Windows fornisce una notifica al "programma di monitoraggio" indicando l'esistenza di una finestra.
- L'alimentazione viene interrotta prima che il "programma di monitoraggio" sia in grado di scrivere il fatto che la finestra è lì per "memorizzazione persistente"; cioè il disco rigido.
Conoscenza dell'applicazione
Nel caso generale, nessun programma di terze parti può conoscere il motivo per cui un programma ha aperto una determinata finestra. A livello di programmazione, un programma può decidere di aprire una nuova finestra per qualsiasi motivo o per nessun motivo. Alla luce di ciò, il programma di terze parti non può sapere quali passaggi sono necessari per fare in modo che il programma di apertura delle finestre apra nuove finestre.
Per applicazioni specifiche , questo può essere fatto. Ad esempio, per Microsoft Word, ci sono modi per leggere i titoli delle finestre e inferire i nomi dei documenti aperti, o persino installare un componente aggiuntivo di Word che monitora le finestre aperte e tiene traccia dei documenti aperti, quindi li riapre al riavvio.
Tuttavia, quando si cerca una soluzione del genere, è necessario assicurarsi che il "programma di monitoraggio" sia in grado di comprendere la strategia di windowing di ciascuna applicazione che si desidera riaprire automaticamente e comprendere anche il processo per chiedere a tale applicazione di riaprire -apri tutte quelle finestre.
Un modo "ingenuo" per avvicinarsi a questo sarebbe quello di tenere traccia di tutti i programmi in esecuzione che hanno creato una o più finestre e quindi "stupidamente" avviare quei file eseguibili quando si riavvia il computer. Sarebbe abbastanza semplice scrivere un tale programma, e in effetti, sono sicuro che esistono molti di questi programmi. Il rovescio della medaglia è che probabilmente non è così utile - quanto sarebbe utile se notepad.exelanciato all'avvio di Windows, senza documenti aperti? Questa è sostanzialmente l'estensione di ciò che puoi fare nel "caso generale".
Integrità dei dati
Se stai modificando un documento in Blocco note o Word o in qualsiasi altro programma di editor e il tuo PC si spegne improvvisamente, non esiste un modo affidabile per conservare tutti i tuoi dati. Se speri in una soluzione software per questo, continua a sperare. È meglio acquistare un gruppo di continuità (UPS), che è fondamentalmente una grande batteria collegata al PC che impedisce al PC di perdere energia se l'elettricità principale viene interrotta o si verificano temporaneamente guasti. In genere un UPS può far funzionare il PC abbastanza a lungo da consentirti di salvare il tuo lavoro e spegnerlo.
In linea di principio, esiste un modo per ottenere una migliore integrità dei dati, ma è un dettaglio di implementazione di un editor di testi / documenti: se l'editor scrive le tue modifiche su disco ogni volta che digiti un carattere o apporti una modifica, la maggior parte i dati che puoi perdere sono di un carattere (hai digitato il personaggio e non è stato possibile estrarlo sul disco prima di perdere il potere). Tuttavia, nel modo in cui la maggior parte degli editor funziona oggi, potresti perdere alcuni minuti di dati (nel caso di AutoSave) o tutti i tuoi dati (nel caso di editor senza AutoSave).
Non do consigli sul software;)
Qualcosa che "tiene traccia di quali file hai aperto in Blocco note" è fattibile, ma è probabilmente ancora più facile usare un vero editor di testo che ricordi quali file hai aperto senza plugin di terze parti, come Notepad ++.