Libreria
Windows
Il computer: sistema, finestre delle applicazioni, schermi, batteria, dischi, audio, appunti, avvio.
Funzioni 163
abbassa_volumeaffianca_finestreaggiungi_all_avvioalza_volumeannulla_spegnimentoappunti_contiene_immagineappunti_contiene_testoapri_con_programma_predefinitoapri_impostazioni_windowsapri_in_esplora_fileapri_indirizzo_webarchitetturaarea_di_lavoroavvia_programmabatteria_in_caricablocca_computercarattere_installatocartella_appdatacartella_appdata_localecartella_immaginicartella_menu_startcartella_musicacartella_programmicartella_specialecartella_temp_sistemacartella_videocattura_finestracattura_schermocattura_zonachiedi_colorechiudi_finestra_programmacolore_accentocolore_puntoconsenti_standbycopia_file_negli_appunticrea_collegamentodestinazione_collegamentodimensione_cestinodisconnetti_utentedispositivi_audiodispositivi_usbdomanda_windowse_all_avvioe_amministratoree_mutoelementi_nel_cestinoelenca_caratterielenca_chiavi_registroelenca_finestreelenca_processielenca_schermielenca_servizielenca_stampantielenca_unitaelenca_valori_registroelimina_chiave_registroelimina_valore_registroesegui_comandoesegui_powershellesiste_chiave_registroespandi_variabili_ambientefile_recentifinestra_attivafinestra_esistefrequenza_schermofuso_orarioha_batteriaiberna_computerimpedisci_standbyimposta_luminositaimposta_mutoimposta_sfondo_desktopimposta_variabile_ambienteimposta_volumeindirizzi_ip_localiindirizzo_ip_localeinfo_batteriainfo_collegamentoinfo_computerinfo_finestrainfo_memoriainfo_processoreinfo_scheda_madreinfo_schede_videoinfo_sessioneinfo_unitainfo_windowsinvia_pingip_pubblicoleggi_appuntileggi_registroleggi_variabile_ambienteluminosita_schermomassimizza_finestramemoria_liberamemoria_totalemessaggio_windowsminimizza_finestramostra_notificanome_computernome_programma_predefinitonome_stampante_predefinitanome_utentenumero_corenumero_schermiora_utcpercentuale_batteriapid_correnteporta_in_primo_pianopotenza_wifiprocessi_piu_pesantiprocesso_esisteprogramma_predefinitoprogrammi_all_avvioriavvia_computerridimensiona_finestraripristina_finestrarisoluzione_schermosalva_immagine_appuntiscala_schermoscegli_cartellascegli_file_da_aprirescegli_file_da_salvarescegli_piu_fileschede_di_reteschermo_principalescrivi_appuntiscrivi_registroseleziona_in_esplora_filesempre_in_primo_pianoservizio_attivosezioni_impostazionisfondo_desktopsincronizzazione_orasospendi_computerspazio_liberospazio_totalespegni_computersposta_finestrasposta_nel_cestinostampa_documentostato_serviziosuoni_di_sistemasuono_di_sistemasvuota_appuntisvuota_cestinotema_scuro_attivotema_windowstempo_accensionetempo_accensione_testotempo_batteria_rimastotermina_processotogli_dall_avviotogli_variabile_ambientetrova_finestratrova_finestretrova_processiuso_cpuuso_memoriavariabili_ambienteversione_windowsvolume_principalewifi_connesso
Sistema, programmi, appunti e avvio
nome_computer()Solo Windows#
Il nome di questo computer in rete (per esempio "PC-UFFICIO").
stampa("Sono su", nome_computer())nome_utente()Solo Windows#
Il nome dell'utente che ha acceso la sessione (per esempio "ada").
stampa("Ciao,", nome_utente())versione_windows()Solo Windows#
La versione di Windows in una frase, per esempio "Windows 11 Pro 23H2 (build 22631.3447)".
Solo su Windows.
stampa(versione_windows())info_windows()Solo Windows#
Un dizionario con le informazioni su Windows e sul computer.
Chiavi: "nome" ("Windows 11 Pro"), "versione" ("23H2"), "build", "edizione", "numero" (10 o 11), "architettura", "nome_computer", "utente", "acceso_da" (secondi). Solo su Windows.
se info_windows()["numero"] >= 11 allora stampa("Windows 11!") finearchitettura()Solo Windows#
Il tipo di processore per cui è fatto il sistema: "x64", "x86" o "ARM64".
se architettura() == "ARM64" allora stampa("Computer con processore ARM") finetempo_accensione()Solo Windows#
Da quanti secondi è acceso il computer (un intero).
stampa("Acceso da", tempo_accensione() // 3600, "ore")tempo_accensione_testo()Solo Windows#
Da quanto è acceso il computer, in parole ("2 giorni, 3 ore e 5 minuti").
stampa("Il computer è acceso da", tempo_accensione_testo())cartella_speciale(nome)Solo Windows#
Il percorso di una cartella speciale di Windows, dal suo nome italiano.
Nomi: "desktop", "documenti", "download", "immagini", "musica", "video", "appdata", "appdata_locale", "temporanea", "programmi", "programmi_x86", "menu_start", "programmi_menu_start", "esecuzione_automatica", "recenti", "preferiti", "modelli", "casa".
stampa(cartella_speciale("immagini"))cartella_immagini()Solo Windows#
La cartella Immagini dell'utente.
copia_file("foto.png", cartella_immagini())cartella_musica()Solo Windows#
La cartella Musica dell'utente.
stampa(elenca_file(cartella_musica(), "*.mp3"))cartella_video()Solo Windows#
La cartella Video dell'utente.
stampa(cartella_video())cartella_appdata()Solo Windows#
La cartella dei dati dei programmi dell'utente (%APPDATA%, "AppData\Roaming").
È il posto giusto per le impostazioni del tuo programma.
variabile mie = unisci_percorso(cartella_appdata(), "MioProgramma")cartella_appdata_locale()Solo Windows#
La cartella dei dati locali dei programmi (%LOCALAPPDATA%, "AppData\Local").
stampa(cartella_appdata_locale())cartella_temp_sistema()Solo Windows#
La cartella dei file temporanei di Windows (%TEMP%).
Diversa da cartella_temporanea(), che crea una cartella nuova che sparisce a fine programma.
stampa(cartella_temp_sistema())cartella_programmi()Solo Windows#
La cartella in cui sono installati i programmi ("C:\Program Files").
Solo su Windows.
stampa(cartella_programmi())leggi_variabile_ambiente(nome, predefinito = nulla)Solo Windows#
Il valore di una variabile d'ambiente (un testo).
Se la variabile non c'è restituisce predefinito. Su Windows maiuscole e minuscole non contano.
stampa(leggi_variabile_ambiente("USERPROFILE"))imposta_variabile_ambiente(nome, valore)Solo Windows#
Imposta una variabile d'ambiente per questo programma.
La vedono anche i programmi avviati dopo con avvia_programma o esegui_comando; non cambia le impostazioni di Windows. Con valore = nulla la toglie.
imposta_variabile_ambiente("LINGUA", "it")togli_variabile_ambiente(nome)Solo Windows#
Toglie una variabile d'ambiente da questo programma.
Restituisce vero se c'era.
togli_variabile_ambiente("LINGUA")variabili_ambiente()Solo Windows#
Un dizionario con tutte le variabili d'ambiente (nome -> valore), in ordine.
per ogni nome in variabili_ambiente().chiavi() fai stampa(nome) fineespandi_variabili_ambiente(testo)Solo Windows#
Sostituisce le parti come %USERPROFILE% con il loro valore.
Le variabili sconosciute restano come sono.
espandi_variabili_ambiente("%APPDATA%\\MioProgramma")elenca_processi(filtro = "")Solo Windows#
La lista dei programmi in esecuzione (processi).
Ogni elemento è un dizionario con "nome", "pid", "pid_padre", "memoria" (byte, nulla se Windows non la dice) e "memoria_mb". Con filtro tiene solo i nomi che lo contengono. Solo su Windows.
per ogni p in elenca_processi("chrome") fai stampa(p["pid"], p["memoria_mb"]) finetrova_processi(nome)Solo Windows#
I processi con esattamente quel nome ("notepad" trova anche "notepad.exe").
Restituisce una lista di dizionari come elenca_processi. Solo su Windows.
stampa(lunghezza(trova_processi("notepad")), "Blocco note aperti")processo_esiste(nome_o_pid)Solo Windows#
vero se un programma con quel nome (o quel pid) è in esecuzione.
Solo su Windows.
se processo_esiste("excel") allora stampa("Excel è aperto") finepid_corrente()Solo Windows#
Il numero (pid) del processo di questo programma.
stampa("Il mio pid è", pid_corrente())termina_processo(nome_o_pid, senza_conferma = falso)Solo Windows#
Chiude a forza un programma; restituisce quanti ne ha chiusi.
Con un nome chiude tutti i processi con quel nome. Prima chiede conferma all'utente (i dati non salvati di quel programma vanno persi); se l'utente dice No restituisce 0. I processi vitali di Windows e questo stesso programma non si chiudono. Solo su Windows.
termina_processo("notepad")avvia_programma(programma, argomenti = [], attendi = falso, cartella = nulla, tempo_massimo = nulla)Solo Windows#
Avvia un programma.
Senza attendi restituisce subito il pid del nuovo processo; con attendi = vero aspetta che finisca e restituisce il suo codice di uscita (0 = tutto bene), oppure nulla se supera tempo_massimo secondi (il programma resta aperto).
avvia_programma("notepad.exe", ["nota.txt"])variabile codice = avvia_programma("C:/Strumenti/converti.exe", ["a.csv"], attendi = vero)apri_con_programma_predefinito(percorso)Solo Windows#
Apre un file con il suo programma (come il doppio clic).
Un ".pdf" si apre con il lettore PDF, un ".docx" con Word e così via. Solo su Windows.
apri_con_programma_predefinito("resoconto.pdf")apri_in_esplora_file(cartella = cartella corrente)Solo Windows#
Mostra una cartella in Esplora file.
Solo su Windows.
apri_in_esplora_file(cartella_documenti())seleziona_in_esplora_file(percorso)Solo Windows#
Apre Esplora file sulla cartella del file, con il file selezionato.
Solo su Windows.
seleziona_in_esplora_file("C:/Documenti/fattura.pdf")apri_indirizzo_web(indirizzo)Solo Windows#
Apre un sito nel browser predefinito.
Senza "https://" lo aggiunge Leo. Si accettano anche gli indirizzi "mailto:".
apri_indirizzo_web("www.wikipedia.it")apri_impostazioni_windows(sezione = "home")Solo Windows#
Apre le Impostazioni di Windows alla pagina giusta.
Sezioni: "schermo", "suoni", "wifi", "bluetooth", "rete", "stampanti", "sfondo", "temi", "app_predefinite", "app_avvio", "aggiornamenti", "privacy", "data_ora", "lingua"... (tutte con sezioni_impostazioni()), oppure una pagina "ms-settings:...". Solo su Windows.
apri_impostazioni_windows("bluetooth")sezioni_impostazioni()Solo Windows#
I nomi delle sezioni che apri_impostazioni_windows conosce.
stampa(sezioni_impostazioni())esegui_comando(comando, tempo_massimo = 60, cartella = nulla, senza_conferma = falso)Solo Windows#
Esegue un comando del Prompt.
Il comando viene mostrato all'utente, che deve dare il permesso (salvo senza_conferma = vero). comando è un testo (come nel Prompt dei comandi) oppure una lista [programma, argomenti...]. Restituisce un dizionario: "uscita", "errore" (testi), "codice" (0 = riuscito), "riuscito", "scaduto" (superato tempo_massimo secondi), "annullato" (l'utente ha detto No).
variabile r = esegui_comando("ipconfig")stampa(r["uscita"])esegui_powershell(script, tempo_massimo = 60, cartella = nulla, senza_conferma = falso)Solo Windows#
Esegue comandi PowerShell.
Lo script viene mostrato all'utente, che deve dare il permesso (salvo senza_conferma = vero). Restituisce lo stesso dizionario di esegui_comando ("uscita", "errore", "codice", "riuscito", "scaduto", "annullato"). Solo su Windows.
stampa(esegui_powershell("Get-Date -Format dd/MM/yyyy")["uscita"])leggi_appunti()Solo Windows#
Il testo copiato negli appunti ("" se negli appunti non c'è testo).
Solo su Windows.
stampa("Hai copiato:", leggi_appunti())scrivi_appunti(testo)Solo Windows#
Copia un testo negli appunti (poi si incolla con Ctrl+V).
Numeri e liste si copiano come si vedono con stampa. Solo su Windows.
scrivi_appunti("Ciao da Leo!")svuota_appunti()Solo Windows#
Cancella il contenuto degli appunti.
Solo su Windows.
svuota_appunti()appunti_contiene_testo()Solo Windows#
vero se negli appunti c'è un testo.
Solo su Windows.
se appunti_contiene_testo() allora stampa(leggi_appunti()) fineappunti_contiene_immagine()Solo Windows#
vero se negli appunti c'è un'immagine (per esempio uno screenshot).
Solo su Windows.
se appunti_contiene_immagine() allora salva_immagine_appunti("cattura.png") finesalva_immagine_appunti(percorso)Solo Windows#
Salva l'immagine degli appunti in un file PNG.
Restituisce vero se l'ha salvata, falso se negli appunti non c'è un'immagine. Solo su Windows.
salva_immagine_appunti(unisci_percorso(cartella_immagini(), "cattura.png"))copia_file_negli_appunti(percorsi)Solo Windows#
Copia uno o più file negli appunti, come Ctrl+C in Esplora file.
percorsi è un testo o una lista di testi; poi si incollano con Ctrl+V in una cartella. Solo su Windows.
copia_file_negli_appunti(["foto1.jpg", "foto2.jpg"])sposta_nel_cestino(percorso)Solo Windows#
Mette un file o una cartella nel cestino (si può ripristinare).
Le cartelle importanti (Documenti, Desktop, la cartella personale...) sono protette.
sposta_nel_cestino("vecchia_bozza.txt")elementi_nel_cestino()Solo Windows#
Quanti file e cartelle ci sono nel cestino.
Solo su Windows.
stampa("Nel cestino:", elementi_nel_cestino())dimensione_cestino()Solo Windows#
Quanti byte occupa il cestino.
Solo su Windows.
stampa(dimensione_leggibile(dimensione_cestino()))svuota_cestino(senza_conferma = falso)Solo Windows#
Elimina per sempre tutto quello che c'è nel cestino.
Prima chiede conferma all'utente. Restituisce vero se il cestino ora è vuoto, falso se l'utente ha detto No. Solo su Windows.
svuota_cestino()crea_collegamento(destinazione, nome, dove = "desktop", argomenti, icona, descrizione, cartella_lavoro, sovrascrivi = falso)Solo Windows#
Crea un collegamento (.lnk).
dove è "desktop", "menu_start" oppure una cartella. icona è un file .ico/.exe (anche "file.exe,2" per la terza icona). Restituisce il percorso del collegamento. Solo su Windows.
crea_collegamento("C:/Giochi/gioco.exe", "Il mio gioco", icona = "C:/Giochi/gioco.ico")destinazione_collegamento(percorso)Solo Windows#
Il file o la cartella a cui porta un collegamento .lnk.
Solo su Windows.
stampa(destinazione_collegamento("C:/Users/ada/Desktop/Gioco.lnk"))info_collegamento(percorso)Solo Windows#
Un dizionario con "destinazione", "argomenti", "cartella_lavoro", "icona", "descrizione".
Solo su Windows.
stampa(info_collegamento("Gioco.lnk")["argomenti"])file_recenti(quanti = 20)Solo Windows#
I file aperti di recente in Windows, dal più nuovo.
Ogni elemento è un dizionario con "nome", "percorso", "data" (quando è stato aperto), "esiste" e "cartella" (vero se è una cartella). Solo su Windows.
per ogni f in file_recenti(5) fai stampa(f["nome"], f["data"]) fineprogrammi_all_avvio()Solo Windows#
I programmi che partono quando accedi a Windows (nome -> comando).
Sono quelli del tuo utente (non quelli di tutto il computer). Solo su Windows.
stampa(programmi_all_avvio())e_all_avvio(nome)Solo Windows#
vero se nell'avvio automatico c'è un programma con questo nome.
Solo su Windows.
se non e_all_avvio("MioProgramma") allora stampa("Non parte da solo") fineaggiungi_all_avvio(programma, nome, argomenti = "", senza_conferma = falso)Solo Windows#
Fa partire un programma quando accedi a Windows.
Scrive solo nelle impostazioni del tuo utente, dopo aver chiesto conferma. Restituisce vero se l'ha aggiunto, falso se l'utente ha detto No. Solo su Windows.
aggiungi_all_avvio("C:/Programmi/Promemoria/promemoria.exe", "Promemoria")togli_dall_avvio(nome, senza_conferma = falso)Solo Windows#
Toglie un programma dall'avvio automatico.
Chiede conferma. Restituisce vero se l'ha tolto, falso se non c'era o se l'utente ha detto No. Solo su Windows.
togli_dall_avvio("Promemoria")programma_predefinito(estensione)Solo Windows#
Il percorso del programma che apre quel tipo di file (o nulla).
Solo su Windows.
stampa(programma_predefinito(".pdf"))nome_programma_predefinito(estensione)Solo Windows#
Il nome del programma che apre quel tipo di file, per esempio "Blocco note".
Restituisce nulla se nessun programma è associato. Solo su Windows.
stampa("I .txt si aprono con", nome_programma_predefinito("txt"))Finestre, schermi e desktop
elenca_finestre(filtro = "")Solo Windows#
Le finestre delle applicazioni aperte, dalla più in alto.
Ogni elemento è un dizionario con "id", "titolo", "programma" (per
per ogni f in elenca_finestre() fai stampa(f["titolo"], "-", f["programma"]) finetrova_finestra(titolo)Solo Windows#
La finestra con quel titolo (o che lo contiene), oppure nulla.
Non conta maiuscole e minuscole; va bene anche il nome del programma ("notepad"). Se ce ne sono più di una, prima quella con il titolo uguale, poi la più in alto. Solo su Windows.
f = trova_finestra("Blocco note")se f != nulla allora stampa(f["id"]) finetrova_finestre(titolo)Solo Windows#
Tutte le finestre che hanno quel testo nel titolo (o nel nome del programma).
Restituisce una lista di dizionari come elenca_finestre (vuota se non ce n'è nessuna). Solo su Windows.
stampa(lunghezza(trova_finestre("Chrome")), "finestre di Chrome")finestra_esiste(finestra)Solo Windows#
vero se la finestra (titolo, dizionario o id) è ancora aperta.
Solo su Windows.
mentre finestra_esiste("Calcolatrice") fai attendi(1) finefinestra_attiva()Solo Windows#
La finestra in primo piano (quella che riceve i tasti), oppure nulla.
Restituisce un dizionario come elenca_finestre. Solo su Windows.
stampa("Stai usando:", finestra_attiva()["titolo"])info_finestra(finestra)Solo Windows#
I dati aggiornati della finestra (posizione, dimensioni, stato...).
Restituisce un dizionario come elenca_finestre; errore se la finestra non c'è. Solo su Windows.
f = info_finestra("Blocco note")stampa(f["larghezza"], "x", f["altezza"])porta_in_primo_piano(finestra)Solo Windows#
Mostra la finestra davanti alle altre e la rende attiva.
Se era minimizzata la ripristina. Restituisce vero se Windows l'ha messa in primo piano (a volte Windows lo impedisce e fa solo lampeggiare il pulsante nella barra). Solo su Windows.
porta_in_primo_piano("Blocco note")minimizza_finestra(finestra)Solo Windows#
Riduce la finestra a icona nella barra delle applicazioni.
Restituisce i dati aggiornati della finestra. Solo su Windows.
minimizza_finestra("Blocco note")massimizza_finestra(finestra)Solo Windows#
Ingrandisce la finestra a tutto schermo (con la barra visibile).
Restituisce i dati aggiornati della finestra. Solo su Windows.
massimizza_finestra("Blocco note")ripristina_finestra(finestra)Solo Windows#
Riporta la finestra minimizzata o massimizzata alla sua misura normale.
Restituisce i dati aggiornati della finestra. Solo su Windows.
ripristina_finestra("Blocco note")sposta_finestra(finestra, x, y)Solo Windows#
Mette l'angolo in alto a sinistra della finestra nel punto (x, y).
Le coordinate sono in pixel del desktop (0, 0 = angolo dello schermo principale; gli altri schermi possono avere coordinate negative). Una finestra massimizzata viene prima ripristinata. Restituisce i dati aggiornati. Solo su Windows.
sposta_finestra("Blocco note", 100, 50)ridimensiona_finestra(finestra, larghezza, altezza)Solo Windows#
Cambia le dimensioni della finestra (in pixel).
L'angolo in alto a sinistra resta dov'è; una finestra massimizzata viene prima ripristinata. Restituisce i dati aggiornati. Solo su Windows.
ridimensiona_finestra("Blocco note", 800, 600)sempre_in_primo_piano(finestra, attivo = vero)Solo Windows#
Tiene la finestra sopra tutte le altre (o smette con falso).
Restituisce i dati aggiornati (chiave "sempre_in_primo_piano"). Solo su Windows.
sempre_in_primo_piano("Calcolatrice")sempre_in_primo_piano("Calcolatrice", falso)chiudi_finestra_programma(finestra, senza_conferma = falso)Solo Windows#
Chiede a un'altra applicazione di chiudere la finestra.
È come premere la X: il programma può chiedere di salvare il lavoro o rifiutare. Prima chiede conferma all'utente del programma Leo (salvo senza_conferma = vero). Restituisce vero se la richiesta è partita, falso se l'utente risponde No. Per le finestre del proprio programma Leo si usa chiudi_finestra. Solo su Windows.
se chiudi_finestra_programma("Blocco note") allora stampa("Richiesta inviata") fineaffianca_finestre(sinistra, destra, divisione = 50)Solo Windows#
Mette due finestre una accanto all'altra.
Usano tutta l'area di lavoro dello schermo dove si trova la prima; divisione è la percentuale di larghezza della finestra di sinistra (da 10 a 90). Restituisce la lista dei due dizionari aggiornati. Solo su Windows.
affianca_finestre("Blocco note", "Calcolatrice", 60)numero_schermi()Solo Windows#
Quanti schermi (monitor) sono collegati e accesi.
Solo su Windows.
se numero_schermi() > 1 allora stampa("Hai più schermi") fineelenca_schermi()Solo Windows#
Gli schermi collegati, il principale per primo.
Ogni elemento è un dizionario con "numero" (da 1), "nome", "dispositivo", "principale", "x", "y", "larghezza", "altezza" (in pixel), "area_di_lavoro" (senza la barra delle applicazioni), "dpi", "scala" (percentuale, per
per ogni s in elenca_schermi() fai stampa(s["numero"], s["larghezza"], "x", s["altezza"]) fineschermo_principale()Solo Windows#
Il dizionario dello schermo principale (quello con la barra e l'orologio).
Ha le stesse chiavi degli elementi di elenca_schermi. Solo su Windows.
stampa(schermo_principale()["nome"])risoluzione_schermo(schermo = nulla)Solo Windows#
Larghezza e altezza in pixel dello schermo (predefinito: il principale).
Restituisce un dizionario con "larghezza" e "altezza". Solo su Windows.
r = risoluzione_schermo()stampa(r["larghezza"], "x", r["altezza"])scala_schermo(schermo = nulla)Solo Windows#
La scala di Windows in percentuale (100, 125, 150...) dello schermo.
È l'impostazione "Ridimensiona" di Impostazioni > Schermo. Solo su Windows.
stampa("Scala:", scala_schermo(), "%")area_di_lavoro(schermo = nulla)Solo Windows#
La parte dello schermo libera dalla barra delle applicazioni.
Restituisce un dizionario con "x", "y", "larghezza" e "altezza". Solo su Windows.
a = area_di_lavoro()sposta_finestra("Blocco note", a["x"], a["y"])frequenza_schermo(schermo = nulla)Solo Windows#
Quante volte al secondo si aggiorna lo schermo (Hz, per esempio 60 o 144).
0 se Windows non lo sa. Solo su Windows.
stampa(frequenza_schermo(), "Hz")cattura_schermo(percorso = nulla, schermo = nulla)Solo Windows#
Salva un'immagine PNG di quello che si vede.
Senza schermo cattura tutti gli schermi insieme; con schermo = 1 solo il principale, ecc. Senza percorso il nome è "cattura_AAAAMMGG_HHMMSS.png" nella cartella corrente. Restituisce il percorso completo del file. Solo su Windows.
stampa("Salvata in", cattura_schermo("desktop.png"))cattura_zona(x, y, larghezza, altezza, percorso = nulla)Solo Windows#
Salva in PNG un rettangolo dello schermo.
Le coordinate sono in pixel del desktop. Restituisce il percorso completo del file. Solo su Windows.
cattura_zona(0, 0, 400, 300, "angolo.png")cattura_finestra(finestra, percorso = nulla)Solo Windows#
Salva in PNG l'immagine di una finestra.
Funziona anche se la finestra è coperta da altre (non se è minimizzata: prima la si ripristina). Restituisce il percorso completo del file. Solo su Windows.
cattura_finestra("Calcolatrice", "calcolatrice.png")colore_punto(x, y)Solo Windows#
Il colore del punto (x, y) dello schermo, come "#RRGGBB" (lo stesso formato di rgb).
Solo su Windows.
stampa("In alto a sinistra c'è", colore_punto(0, 0))mostra_notifica(titolo, testo = "", icona = "info")Solo Windows#
Mostra una notifica di Windows in basso a destra.
icona può essere "info", "avviso", "errore", "nessuna" o il percorso di un'immagine. Usa le notifiche di Windows 10/11; se non vanno, il fumetto dell'area di notifica. Restituisce "notifica" o "fumetto" (quale è stato usato). Solo su Windows.
mostra_notifica("Backup finito", "Copiati 120 file")messaggio_windows(testo, titolo = "Leo", icona = "info")Solo Windows#
Una vera finestra di messaggio di Windows con OK.
A differenza di messaggio, appare come finestra anche nei programmi testuali. icona: "info", "avviso", "errore", "domanda" o "nessuna". Il programma aspetta che si prema OK. Solo su Windows (nei programmi con finestre usa Qt).
messaggio_windows("Copia finita", icona = "info")domanda_windows(testo, titolo = "Leo")Solo Windows#
Una finestra di Windows con Sì e No; vero se si preme Sì.
A differenza di domanda, appare come finestra anche nei programmi testuali. Solo su Windows (nei programmi con finestre usa Qt).
se domanda_windows("Vuoi continuare?") allora stampa("Avanti!") finescegli_file_da_aprire(titolo = "Apri un file", filtri = nulla, cartella = nulla)Solo Windows#
La finestra "Apri" di Windows.
Restituisce il percorso del file scelto, oppure nulla se l'utente annulla. filtri limita i tipi di file: ["png", "jpg"], {"Immagini": ["png", "jpg"], "Testi": "txt"} o "Testi (*.txt)". Solo su Windows (nei programmi con finestre usa Qt).
f = scegli_file_da_aprire("Scegli una foto", ["jpg", "png"])scegli_piu_file(titolo = "Scegli i file", filtri = nulla, cartella = nulla)Solo Windows#
La finestra "Apri" con più file.
Si selezionano più file con Ctrl o Maiusc. Restituisce la lista dei percorsi (vuota se l'utente annulla). filtri come in scegli_file_da_aprire. Solo su Windows (nei programmi con finestre usa Qt).
per ogni f in scegli_piu_file(filtri = ["txt"]) fai stampa(f) finescegli_file_da_salvare(titolo = "Salva con nome", filtri = nulla, cartella = nulla, nome = "")Solo Windows#
La finestra "Salva con nome".
nome è il nome proposto; se l'utente non scrive l'estensione si aggiunge quella del primo filtro. Se il file esiste Windows chiede se sostituirlo. Restituisce il percorso scelto (il file NON viene creato) oppure nulla se l'utente annulla. Solo su Windows (nei programmi con finestre usa Qt).
p = scegli_file_da_salvare(filtri = ["txt"], nome = "note.txt")scegli_cartella(titolo = "Scegli una cartella", cartella = nulla)Solo Windows#
La finestra di Windows per scegliere una cartella.
Restituisce il percorso della cartella, oppure nulla se l'utente annulla. cartella è quella proposta all'inizio. Solo su Windows (nei programmi con finestre usa Qt).
c = scegli_cartella("Dove salvo le foto?")chiedi_colore(iniziale = "#FFFFFF")Solo Windows#
La finestra dei colori di Windows; restituisce il colore scelto come "#RRGGBB".
Restituisce nulla se l'utente annulla. Il risultato si usa dovunque serva un colore (come rgb). Solo su Windows (nei programmi con finestre usa Qt).
c = chiedi_colore("#FF8800")se c != nulla allora Finestra1.sfondo = c finesfondo_desktop()Solo Windows#
Il percorso dell'immagine di sfondo del desktop ("" se lo sfondo è un colore).
Solo su Windows.
stampa("Sfondo attuale:", sfondo_desktop())imposta_sfondo_desktop(percorso, stile = nulla)Solo Windows#
Mette un'immagine come sfondo del desktop.
stile: "riempi", "adatta", "estendi", "affianca", "centra" o "estendi_su_schermi" (nulla = lascia quello attuale). Restituisce il percorso dello sfondo di prima, così si può rimettere. Solo su Windows.
vecchio = imposta_sfondo_desktop("C:/Immagini/mare.jpg", "riempi")tema_windows(parte = "app")Solo Windows#
"chiaro" o "scuro", il tema scelto in Impostazioni > Personalizzazione > Colori.
parte = "app" è il tema delle applicazioni, parte = "sistema" quello della barra e del menu Start. Solo su Windows.
se tema_windows() == "scuro" allora Finestra1.sfondo = "#202020" finetema_scuro_attivo()Solo Windows#
vero se le applicazioni di Windows usano il tema scuro.
Solo su Windows.
se tema_scuro_attivo() allora stampa("Modalità scura") finecolore_accento()Solo Windows#
Il colore d'accento di Windows come "#RRGGBB", oppure nulla se Windows non lo dice.
Solo su Windows.
Pulsante1.sfondo = colore_accento()suono_di_sistema(tipo = "predefinito")Solo Windows#
Fa sentire un suono di avviso di Windows.
Tipi: "predefinito", "informazione", "avviso", "errore", "domanda", "bip", "notifica", "posta", "promemoria" (vedi suoni_di_sistema()). I suoni sono quelli scelti nel Pannello di controllo; il programma non aspetta la fine. Solo su Windows.
suono_di_sistema("errore")suoni_di_sistema()Solo Windows#
I nomi dei suoni di avviso che si possono usare con suono_di_sistema.
Funziona su ogni sistema.
per ogni s in suoni_di_sistema() fai stampa(s) fineBatteria, dischi, audio, rete e hardware
info_batteria()Solo Windows#
Tutto sulla batteria in un dizionario.
Chiavi: presente, percentuale (0-100 o nulla), in_carica, alla_corrente, minuti_rimasti (nulla se non si sa o se è alla corrente), risparmio_energetico.
variabile b = info_batteria()stampa(b["percentuale"])ha_batteria()Solo Windows#
vero se il computer ha una batteria (un portatile).
se ha_batteria() allora stampa("Portatile") finepercentuale_batteria()Solo Windows#
Carica della batteria da 0 a 100 (nulla se non c'è batteria).
se percentuale_batteria() < 20 allora messaggio("Batteria quasi scarica") finebatteria_in_carica()Solo Windows#
vero se la batteria si sta caricando.
stampa("In carica: {batteria_in_carica()}")tempo_batteria_rimasto()Solo Windows#
Minuti di autonomia stimati (nulla se alla corrente o non si sa).
variabile m = tempo_batteria_rimasto()se m != nulla allora stampa("{m} minuti") fineblocca_computer(ritardo = 0, senza_conferma = falso)Solo Windows#
Blocca lo schermo (come Windows+L).
ritardo in secondi; restituisce vero se fatto (o programmato), falso se l'utente dice No.
blocca_computer(ritardo = 30)sospendi_computer(ritardo = 0, senza_conferma = falso)Solo Windows#
Mette il computer in sospensione (standby).
Chiede conferma; ritardo in secondi.
sospendi_computer(ritardo = 600)iberna_computer(ritardo = 0, senza_conferma = falso)Solo Windows#
Iberna il computer (se l'ibernazione è attiva).
Chiede conferma; ritardo in secondi.
iberna_computer()spegni_computer(ritardo = 0, senza_conferma = falso)Solo Windows#
Spegne il computer, dopo una conferma.
Con ritardo (secondi) lo spegnimento è programmato e si può annullare con annulla_spegnimento().
spegni_computer(ritardo = 3600)riavvia_computer(ritardo = 0, senza_conferma = falso)Solo Windows#
Riavvia il computer, dopo una conferma.
se riavvia_computer(ritardo = 60) allora stampa("Riavvio tra un minuto") finedisconnetti_utente(ritardo = 0, senza_conferma = falso)Solo Windows#
Esce dall'account di Windows (logout).
Chiede conferma.
disconnetti_utente()annulla_spegnimento()Solo Windows#
Annulla spegnimenti, riavvii e sospensioni programmati; dice cosa ha annullato.
Restituisce la lista delle azioni annullate (vuota se non c'era niente).
stampa(annulla_spegnimento())impedisci_standby(schermo = vero)Solo Windows#
Finché il programma lavora il PC non va in standby.
Con schermo = vero anche lo schermo resta acceso. Vale fino a consenti_standby() o alla fine del programma.
impedisci_standby()consenti_standby()Solo Windows#
Il computer torna ad andare in standby e a spegnere lo schermo come sempre.
stampa(consenti_standby())volume_principale()Solo Windows#
Volume delle casse o cuffie predefinite, da 0 a 100.
stampa("Volume: {volume_principale()}")imposta_volume(livello)Solo Windows#
Imposta il volume principale (da 0 a 100).
imposta_volume(30)alza_volume(passo = 10)Solo Windows#
Alza il volume di passo punti (fino a 100); restituisce il nuovo volume.
alza_volume(5)abbassa_volume(passo = 10)Solo Windows#
Abbassa il volume di passo punti (fino a 0); restituisce il nuovo volume.
abbassa_volume()e_muto()Solo Windows#
vero se l'audio è disattivato (muto).
se e_muto() allora imposta_muto(falso) fineimposta_muto(muto = vero)Solo Windows#
Toglie (vero) o rimette (falso) l'audio.
imposta_muto()imposta_muto(falso)dispositivi_audio()Solo Windows#
Le uscite audio attive (casse, cuffie...): lista di dizionari.
Ogni elemento ha nome, predefinito (vero/falso) e id.
per ogni d in dispositivi_audio() fai stampa(d["nome"]) fineluminosita_schermo()Solo Windows#
Luminosità dello schermo da 0 a 100 (nulla se lo schermo non lo permette).
Di solito funziona sugli schermi dei portatili, non sui monitor esterni.
stampa(luminosita_schermo())imposta_luminosita(livello)Solo Windows#
Cambia la luminosità dello schermo (0-100); falso se non si può.
imposta_luminosita(70)uso_cpu(intervallo = 0.5)Solo Windows#
Quanto lavora il processore, in percentuale (0-100).
Misura per intervallo secondi (da 0.1 a 10).
stampa("CPU al {uso_cpu()}%")numero_core(fisici = falso)Solo Windows#
Quanti processori logici ha il computer (con fisici = vero i core veri).
stampa("Core: {numero_core()}")info_memoria()Solo Windows#
La memoria RAM: dizionario con totale, libera, usata (byte) e percentuale_usata.
Per un testo leggibile usa dimensione_leggibile(...).
stampa(dimensione_leggibile(info_memoria()["libera"]))memoria_totale()Solo Windows#
Memoria RAM installata, in byte.
stampa(dimensione_leggibile(memoria_totale()))memoria_libera()Solo Windows#
Memoria RAM ancora disponibile, in byte.
stampa(dimensione_leggibile(memoria_libera()))uso_memoria()Solo Windows#
Percentuale di memoria RAM usata (0-100).
se uso_memoria() > 90 allora stampa("Memoria quasi piena") fineprocessi_piu_pesanti(quanti = 5)Solo Windows#
I programmi che usano più memoria.
Lista di dizionari con nome, pid, memoria (byte) e cpu_secondi.
per ogni p in processi_piu_pesanti(3) fai stampa(p["nome"]) fineelenca_unita()Solo Windows#
I dischi e le unità del computer (C:, D:, chiavette...).
Ogni elemento ha unita, tipo ("disco fisso", "rimovibile", "rete", "CD/DVD"...), etichetta, file_system, pronta, totale, libero, usato (byte).
per ogni u in elenca_unita() fai stampa(u["unita"], u["tipo"]) fineinfo_unita(unita = "C:")Solo Windows#
Le informazioni su un'unità (come un elemento di elenca_unita).
stampa(info_unita("D:")["etichetta"])spazio_libero(unita = "C:")Solo Windows#
Byte liberi sull'unità.
stampa(dimensione_leggibile(spazio_libero("C:")))spazio_totale(unita = "C:")Solo Windows#
Capacità dell'unità in byte.
Per lo spazio occupato da una cartella usa dimensione_cartella(...).
stampa(dimensione_leggibile(spazio_totale()))indirizzi_ip_locali()Solo Windows#
Gli indirizzi IPv4 del computer nella rete locale (lista di testi).
stampa(indirizzi_ip_locali())indirizzo_ip_locale()Solo Windows#
L'indirizzo IP locale principale (quello usato per uscire in rete), o nulla.
stampa("Il mio IP: {indirizzo_ip_locale()}")ip_pubblico(tempo_massimo = 5)Solo Windows#
L'indirizzo IP con cui il computer si vede su Internet.
Chiede a un servizio pubblico (api.ipify.org); aspetta al massimo tempo_massimo secondi.
stampa(ip_pubblico())wifi_connesso()Solo Windows#
La rete Wi-Fi a cui si è collegati, o nulla.
Dizionario con nome, segnale (0-100), bssid, canale, autenticazione, scheda.
variabile w = wifi_connesso()se w != nulla allora stampa(w["nome"]) finepotenza_wifi()Solo Windows#
Potenza del segnale Wi-Fi da 0 a 100 (nulla se non connesso).
stampa("Segnale: {potenza_wifi()}%")schede_di_rete()Solo Windows#
Le schede di rete (Ethernet, Wi-Fi...): lista di dizionari.
Ogni elemento ha nome, descrizione, stato, connessa, mac, velocita.
per ogni s in schede_di_rete() fai stampa(s["nome"], s["stato"]) fineinvia_ping(indirizzo, volte = 4, tempo_massimo = 2)Solo Windows#
Controlla se un computer in rete risponde.
Restituisce un dizionario con raggiungibile, inviati, ricevuti, persi, percentuale_persi, tempi (millisecondi), minimo, massimo, medio, ip.
se invia_ping("192.168.1.1")["raggiungibile"] allora stampa("Il router risponde") fineelenca_stampanti()Solo Windows#
Le stampanti installate: lista di dizionari.
Ogni elemento ha nome, predefinita, in_linea, porta, driver, condivisa.
per ogni s in elenca_stampanti() fai stampa(s["nome"]) finenome_stampante_predefinita()Solo Windows#
Il nome della stampante predefinita (nulla se non ce n'è).
stampa(nome_stampante_predefinita())stampa_documento(percorso, senza_conferma = falso)Solo Windows#
Stampa un file (testo, PDF...) con il programma predefinito.
Chiede conferma; restituisce vero se la stampa è partita.
stampa_documento("relazione.pdf")leggi_registro(chiave, nome = "")Solo Windows#
Legge un valore del registro di Windows (nulla se non c'è).
La chiave comincia con HKCU, HKLM, HKCR, HKU o HKCC; separa le parti con /. nome = "" legge il valore predefinito della chiave.
leggi_registro("HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion", "ProductName")elenca_chiavi_registro(chiave)Solo Windows#
I nomi delle sottochiavi di una chiave del registro.
stampa(elenca_chiavi_registro("HKCU/Software"))elenca_valori_registro(chiave)Solo Windows#
I valori di una chiave del registro, in un dizionario nome -> valore.
stampa(elenca_valori_registro("HKCU/Control Panel/Desktop"))esiste_chiave_registro(chiave)Solo Windows#
vero se la chiave del registro esiste.
se esiste_chiave_registro("HKCU/Software/MioProgramma") allora stampa("esiste") finescrivi_registro(chiave, nome, valore, senza_conferma = falso)Solo Windows#
Scrive un valore nel registro (solo HKCU).
Crea la chiave se manca. Testi, interi, vero/falso e liste di testi. Chiede conferma; restituisce vero se scritto.
scrivi_registro("HKCU/Software/MioProgramma", "tema", "scuro")elimina_valore_registro(chiave, nome, senza_conferma = falso)Solo Windows#
Cancella un valore del registro (solo HKCU).
Chiede conferma; vero se cancellato, falso se non c'era o l'utente ha detto No.
elimina_valore_registro("HKCU/Software/MioProgramma", "tema")elimina_chiave_registro(chiave, senza_conferma = falso)Solo Windows#
Cancella una chiave vuota di sottochiavi (solo HKCU).
Per sicurezza non cancella chiavi che ne contengono altre. Chiede conferma.
elimina_chiave_registro("HKCU/Software/MioProgramma")elenca_servizi(solo_attivi = falso)Solo Windows#
I servizi di Windows con nome, nome_visualizzato, stato, avvio.
stato è per
stampa(lunghezza(elenca_servizi(solo_attivi = vero)))stato_servizio(nome)Solo Windows#
Lo stato di un servizio ("in esecuzione", "fermo", "in pausa"...).
stampa(stato_servizio("Spooler"))servizio_attivo(nome)Solo Windows#
vero se il servizio è in esecuzione.
se non servizio_attivo("Spooler") allora stampa("Stampa non disponibile") finee_amministratore()Solo Windows#
vero se il programma gira con i permessi di amministratore.
se non e_amministratore() allora stampa("Servono i permessi di amministratore") fineinfo_sessione()Solo Windows#
L'utente collegato: utente, dominio, computer, amministratore, sessione_remota, cartella_profilo.
stampa(info_sessione()["dominio"])fuso_orario()Solo Windows#
Il fuso orario: nome, scarto_ore rispetto a UTC, ora_legale, id di Windows.
stampa("UTC + {fuso_orario()["scarto_ore"]}")ora_utc()Solo Windows#
Data e ora attuali in UTC (tempo universale), come data.
stampa(ora_utc())sincronizzazione_ora()Solo Windows#
Come Windows tiene giusto l'orologio: attiva, tipo, server, servizio.
Solo lettura.
stampa(sincronizzazione_ora()["server"])elenca_caratteri()Solo Windows#
I nomi dei caratteri (font) installati, in ordine alfabetico.
stampa(lunghezza(elenca_caratteri()), "caratteri installati")carattere_installato(nome)Solo Windows#
vero se un carattere (font) con quel nome è installato.
Basta la famiglia: "Arial" trova anche "Arial Bold".
carattere_installato("Consolas")info_processore()Solo Windows#
Il processore: nome, produttore, core, processori_logici, frequenza_mhz, bit.
stampa(info_processore()["nome"])info_scheda_madre()Solo Windows#
La scheda madre e il BIOS: produttore, modello, versione, bios_produttore, bios_versione.
stampa(info_scheda_madre()["modello"])info_schede_video()Solo Windows#
Le schede video (GPU): lista con nome, produttore, memoria, driver, risoluzione.
per ogni g in info_schede_video() fai stampa(g["nome"]) fineinfo_computer()Solo Windows#
Il computer: nome, produttore, modello, memoria, sistema_operativo, versione...
variabile c = info_computer()stampa(c["produttore"], c["modello"])dispositivi_usb()Solo Windows#
I dispositivi USB collegati: lista con nome, classe, stato, id.
per ogni d in dispositivi_usb() fai stampa(d["nome"]) fine