====== Avviare automaticamente le applicazioni ====== Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//06/05/2014//** \\ \\ Puo' essere necessario,in alcune circostanze, far si che la propria applicazione venga avviata automaticamente all'avvio della sessione grafica della gui del nostro sistema operativo. Di seguito le istruzioni necessarie in base al sistema operativo. ===== GNU/Linux ===== Sui istemi Gnu/Linux si segue (di solito) la procedura standard proposta da freedesktop, ovvero si copia il file dell'applicazione(''.desktop'') installata nel sistema da **/usr/share/applications/[mia app]** in **/home/[mio utente]/.config/autostart/** ecco di seguito come fare con le Qt: #include #include ... if (QDir(QDir::homePath()+"/.config/autostart").exists()) { if (QFile::exists("/usr/share/applications/logout.desktop")) { QFile::copy("/usr/share/applications/logout.desktop", QDir::homePath()+"/.config/autostart/logout-fml.desktop"); } } dove ''logout.desktop'' e' il file .desktop del mio programma. \\ Per la rimozione della nostra applicazione dall'elenco delle applicazioni in esecuzione automatica basta rimuovere il file appena copiato : #include #include ... if (QDir(QDir::homePath()+"/.config/autostart/logout.desktop").exists()) { QFile::remove(QDir::homePath()+"/.config/autostart/logout.desktop"); } ===== Win32 ===== Per quanto riguarda la versione win32 creeremo una chiave di registro per l'utente corrente all'interno di **HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run** : #include ... QSettings registry("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat); registry.setValue("Logout-fml", QCoreApplication::applicationFilePath().replace('/','\\')); Per rimuovere la chiave invece: #include ... QSettings registry("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat); registry.remove("Logout-fml");