lunedì 13 febbraio 2017

Windows Quick Tip: Creare unità virtuali con SUBST

In alcuni contesti può essere utile definire delle unità virtuali (virtual drives): unità disco che non esistono fisicamente ma costituiti da porzioni di RAM oppure da un particolare percorso/cartella del disco fisico. L'unità virtuale può, ad esempio, essere utilizzata per abbreviare un percorso molto lungo oppure per ingannare alcuni software che tentano di accedere ad un'unità disco non più presente nel sistema.

In questo articolo vedremo come creare un'unità virtuale utilizzando il comando SUBST

Il comando SUBST fu introdotto a partire dalla release 3.1 del MS-DOS ed è presente anche nelle versioni più recenti di Windows.

La sintassi del comando è molto semplice. Lanciando il comando senza alcun parametro:
SUBST
verranno elencate tutte le unità virtuali già definite complete di lettere di unità e path.


Subst, elenco unità virtuali definite
FIG 1 - Subst, elenco unità virtuali definite


Creare un'unità virtuale

Per creare una nuova unità virtuale è necessario passare al comando SUBST la lettera dell'unità, comprensivo dei due punti, e il percorso da assegnarle racchiuso tra apici (soprattutto in caso in cui nel percorso siano presenti spazi).
Ad es.
SUBST X: "C:\Temp"
Subst, creazione unità virtuale
FIG 2 - Subst, creazione unità virtuale
Le unità virtuali create in questo modo vengono mantenute fino alla disconnessione dell'utenza. Al successivo logon è necessario procedere nuovamente alla loro creazione.

Sulle unità virtuali definite tramite SUBST non è possibile utilizzare alcuni comandi come: CHKDSKDISKCOMPDISKCOPYFORMAT, LABELRECOVER.


Eliminare un'unità virtuale

Per eliminare un'unità virtuale basta far seguire al comando la lettera dell'unità virtuale con i due punti e il parametro /D
Ad es.
SUBST X: /D
Subst, eliminazione di un'unità virtuale
FIG 3 - Subst, eliminazione di un'unità virtuale


Assegnare un'etichetta all'unità virtuale

Per assegnare all'unità virtuale un'etichetta personalizzata è necessario procedere tramite il registro di sistema.

  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • posizionarsi su
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\
    quindi creare una nuova chiave nominandola con la lettera dell'unità virtuale a cui si intende assegnare l'etichetta. All'interno della nuova chiave creare una sottochiave e rinominarla in DefaultLabel. Al valore stringa (Predefinito) presente in quest'ultima assegnare l'etichetta da dare all'unità.
    Ad es. nel caso dell'unità virtuale X il percorso sarà 
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\X\DefaultLabel

    Assegnare l'etichetta ad un unità virtuale
    FIG 4 - Assegnare l'etichetta ad un unità virtuale



Rendere permanenti le unità virtuali

Per rendere permanente un'unità virtuale (senza l'utilizzo di tool di terze parti) e ritrovarla anche dopo il riavvio del sistema è possibile utilizzare uno dei seguenti metodi.

Metodo 1
Creare un file Batch con i comandi per la creazione dell'unità virtuale e inserirlo in esecuzione automatica. Ad es.
@ECHO off
SUBST X: C:\Temp


Metodo 2
Inserire il comando SUBST per la creazione di unità virtuali direttamente all'interno della chiave di registro RUN.  Il modo più semplice è quello di creare un file .reg con all'interno le stringhe per creare il nuovo valore all'interno della chiave RUN.

Se si intende creare l'unità virtuale per tutti gli utenti che accedono al sistema il contenuto del file .reg sarà simile al seguente:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Unità virtuale X"="SUBST X: d:\\Temp"

Se, invece, si intende creare l'unità virtuale solo per l'utente corrente allora il contenuto del file .reg sarà 
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Unità virtuale X"="SUBST X: d:\\Temp"


Metodo 3
Anche in questo metodo prevede di agire tramite il registro di sistema ma questa volta l'unità virtuale verrà specificata all'interno della chiave DOS Devices. Il contenuto di un'eventuale file .reg avrà un aspetto simile al seguente
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"X:"="\\??\\C:\\Temp"




giovedì 9 febbraio 2017

Ransomware Zyka, come recuperare i propri dati

Nell'ultimo anno il numero dei ransomware che circolano in rete è aumentato in maniera esponenziale. Ogni giorno vengono scoperti nuovi ransomware o nuove varianti di quelli già esistenti che tentano di rendere la vita degli utenti un inferno. Il ricercatore indipendente noto come CyberSecurity ha di recente scoperto un nuovo ransomware chiamato Zyka

Il ransomware in questione infetta il PC attraverso un trojan: la vittima riceve un'email di spam contenente un allegato che, una volta aperto, provvede a scaricare e ad installare il ransomware vero e proprio. Una volta avviato Zyka provvede a crittografare i dati dell'utente aggiungendo l'estensione .lock. Terminata la cifratura dei file della vittima, viene visualizzato il messaggio del riscatto contenente informazioni sul tipo di algoritmo utilizzato (AES), l'ammontare del riscatto (170$) e come pagarlo (tramite bitcoin al wallet indicato). Il messaggio invita anche a pagare il riscatto entro 72h altrimenti la chiave privata conservata sui server verrà cancellata e non sarà più possibile riavere i propri dati.


Ransomware Zyka, messaggio del riscatto
FIG 1 - Ransomware Zyka, messaggio del riscatto



Come recuperare i dati

Prima di procedere a decriptare i dati, consiglio di effettuare una scansione approfondita con un antivirus e un antimalware (come Malwarebytes) aggiornati.
Il recupero dei dati è possibile grazie al tool StupidDecrypter sviluppato da Michael Gillespie (Demonslay335) e scaricabile da https://download.bleepingcomputer.com/demonslay335/StupidDecrypter.zip

Il tool permette di decriptare file cifrati con le seguenti estensioni: .deria, .fucked, .killedXXX, .lock, .Nazi, _crypt0, _nullbyte


Scompattare il file .zip ed avviare l'unico file eseguibile StupidDecrypter.exe


StupidDrecypter, recuperare i dati cifrati da Zyka
FIG 2 - StupidDrecypter, recuperare i dati cifrati da Zyka

Cliccare sul pulsante Select Directory e selezionare la cartella o il disco contenente i dati cifrati quindi cliccare su Decrypt per avviare il processo di recupero dati. I dettagli dell'operazione verranno indicati nel riquadro alla sinistra dei pulsanti inoltre, all'interno della cartella in cui risiede l'eseguibile del tool, verrà generato un file di log.

Il tool consente anche di eliminare i file cifrati selezionando l'apposita opzione dal menu Settings.


StupidDecrypter, Delete Encrypted Files
FIG 3 - StupidDecrypter, Delete Encrypted Files



martedì 7 febbraio 2017

Windows 10: Disabilitare l'aggiornamento automatico delle App

In Windows 10, per default, gli aggiornamenti delle App vengono scaricati e installati automaticamente senza alcun intervento da parte dell'utente. Ciò può portare a situazioni spiacevoli come a non poter utilizzare una o più App in quanto in fase di aggiornamento. A differenza degli aggiornamenti del sistema operativo, in questo caso Microsoft permette all'utente di modificare tale comportamento con semplici passaggi.
  • Avviare Windows Store cliccando sull'apposita icone presente sulla barra delle applicazioni(oppure digitare Store nella casella di ricerca di Windows e selezionare il primo dei risultati);

    Windows 10, Icona store nella barra delle applicazioni
    FIG 1 - Windows 10, Icona store nella barra delle applicazioni
  • All'interno dell'interfaccia dello Store, cliccare sull'icona del proprio account;
  • Dal menu che appare cliccare su Impostazioni;
    Windows 10, Impostazioni Store
    FIG 2 - Windows 10, Impostazioni Store
  • Nella sezione Aggiornamenti delle app disattivare l'opzione Aggiorna le app automaticamente;
    Windows 10, Disabilita aggiornamento automatico App
    FIG 3 - Windows 10, Disabilita aggiornamento automatico App

A questo punto gli aggiornamenti non saranno più scaricati  e installati automaticamente. Quando saranno disponibili nuovi aggiornamenti, all'interno dello Store, apparirà una nuova icona accanto a quella dell'account. Cliccando su questa nuova icona is accederà alla pagina Download e aggiornamenti che elencherà gli aggiornamenti disponibili per le app. Per procedere con l'installazione dell'aggiornamento basta cliccare sull'elemento interessato.



domenica 5 febbraio 2017

Windows 10: Abilitare la visualizzazione della taskbar quando è attiva la tastiera su schermo su dispositivo touch

Chi utilizza Windows 10 su un dispositivo touch, come ad es. Surface Pro, avrà sicuramente notato che avviando la tastiera su schermo, la barra delle applicazioni scompare. Per mantenere visibile la barra delle applicazioni anche quando si attiva la tastiera sullo schermo è necessario intervenire tramite registro di sistema:
  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • Posizionarsi su
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StigRegKey\Typing\TaskbarAvoidanceEnabled
    Se le chiavi Typing
    TaskbarAvoidanceEnabled non sono presenti crearle manualmente
  • Creare un nuovo valore DWORD (32 bit)rinominarlo in Enable e valorizzarlo ad 1.
Affinché la modifica diventi effettiva è necessario riavviare il sistema.

Dal seguente link è possibile scaricare i file .reg per abilitare/disabilitare la visualizzazione della barra delle applicazioni quando è attiva la tastiera su schermo
DOWNLOAD





lunedì 30 gennaio 2017

Outlook: Visualizzare l'indirizzo email del mittente nel riquadro elenco messaggi

Nel riquadro in cui vengono elencati i messaggi, Outlook visualizza il Display Name del mittente (quando presente). Per fare in modo che al posto del Display Name venga visualizzato sempre l'indirizzo email del mittente è necessario procedere alla creazione di un nuovo Modulo personalizzato.

In questo articolo non mi soffermerò su come creare un modulo personalizzato. Dal seguente link è possibile scaricare il Modulo da me creato per la visualizzazione dell'indirizzo email del mittente nel riquadro elenco messaggi:
DOWNLOAD

Eseguire il download del file VisualizzaIndirizzoMittente.cfg e copiarlo nella cartella di Office contenente gli altri Moduli. 
Il path contentente gli altri moduli è simile al seguente
C:\Programmi\Microsoft Office\Office<versione>\FORMS\<ID locale>
oppure
C:\Programmi\Microsoft Office\root\Office<versione>\FORMS\<ID locale> (da Office 2016)
dove <versione> indica la versione di Office e <ID locale> indica la lingua (1040 italiana, 1033 inglese, ecc).


Il file VisualizzaIndirizzoMittente.cfg non è altro che un file di testo: per visualizzarne il contenuto basta aprirlo con un comune editor di testo come Blocco Note.


Installare il modulo personalizzato in Outlook

  • Accedere alla finestra Gestione Moduli 
    In Outlook 2007 e precedenti dal menu Strumenti -> Opzioni -> scheda Altro -> pulsante Opzioni avanzate… -> pulsante Personalizza moduli -> pulsante Gestione moduli… 
    In Outlook 2010 e successivi dal menu File -> Opzioni -> Avanzate -> sezione Sviluppatori -> pulsante Personalizza moduli... -> pulsante Gestione moduli...

    Outlook, Opzioni avanzate
    FIG 1 - Outlook, Opzioni avanzate

    Outlook, Moduli personalizzati
    FIG 2 - Outlook, Moduli personalizzati
  • Nella finestra Gestione moduli cliccare sul pulsante Installa, selezionare il file VisualizzaIndirizzoMittente.cfg  quindi cliccare su Apri
    Outlook, Gestione moduli
    FIG 3 - Outlook, Gestione moduli
  • Nella finestra delle Proprietà modulo, cliccare sul pulsante OK;
    Outlook, Proprietà modulo
    FIG 4 - Outlook, Proprietà modulo
  • Cliccare sul pulsante Chiudi per chiudere la finestra di dialogo Gestione Moduli;
  • Chiudere le restanti finestre di dialogo cliccando su OK.




Impostare le colonne presenti nel Modulo personalizzato 

  • Aprire la finestra Impostazioni visualizzazione
    In Outlook 2007 dal menu Visualizza -> Disponi per -> Personalizza...
    In Outlook 2010 e successivi cliccare su Visualizza -> Impostazioni visualizzazione
  • Cliccare sul pulsante Colonne... (Campi... in Outlook 2007 e precedenti);
    FIG 5 - Outlook, Impostazioni visualizzazione
  • Dalla casella combinata Seleziona colonne disponibili da, selezionare Moduli...
    Outlook, Seleziona colonne disponibili da
    FIG 6 - Outlook, Seleziona colonne disponibili da
  • Selezionare Indirizzo Email Mittente e cliccare su Aggiungi quindi sul pulsante Chiudi;
    Outlook, Seleziona moduli per cartella
    FIG 7 - Outlook, Seleziona moduli per cartella
  • In Colonne disponibili selezionare E-mail Mittente e cliccare su Aggiungi;

    Outlook, Mostra colonne
    FIG 8 - Outlook, Mostra colonne
  • Cliccare sui pulsanti Sposta su e Sposta giù per spostare la nuova colonna nel punto desiderato.


Nel caso in cui Outlook si connetta ad un server Exchange non verrà visualizzato l'indirizzo email (SMTP) del mittente ma l'indirizzo X500.







martedì 24 gennaio 2017

Windows Quick Tip: Catturare lo schermo tramite scorciatoia da tastiera

Catturare l'immagine di tutto quello che viene visualizzato sullo schermo o su parte di esso è una funzionalità molto utile a diversi scopi, ad es. per mostrare l'errore comparso a video o semplicemente per mostrare il dettaglio di un menu, di un'applicazione o di un comando. Per catturare rapidamente ciò che viene mostrato a video è possibile utilizzare diverse scorciatoie da tastiera: Stamp, ALT+Stamp, WIN+Stamp. Vediamole in dettaglio.

Stamp: premendo il tasto Stamp viene catturato tutto quello visualizzato sullo schermo. L'immagine risultante viene memorizzata all'interno degli appunti di sistema e va incollata in un documento (come ad es. all'interno di Paint o Word) prima di poter essere salvata.

ALT+Stamp: con tale combinazione di tasti viene catturata l'immagine della sola finestra attiva. Anche in questo caso l'immagine viene memorizzata all'interno degli appunti e va incollata in altre applicazioni per poter essere salvata.

WIN+Stamp: questa nuova combinazione di tasti è stata introdotta a partire da Windows 8. L'immagine dell'intero schermo viene salvata automaticamente all'interno di un file della cartella Immagini\Screenshot  in formato png. Ciò consente di salvare velocemente le schermate catturate senza passare per altri programmi.

Screenshot tramite la combinazione di tasti WIN+Stamp
FIG 1 - Screenshot tramite la combinazione di tasti WIN+Stamp



venerdì 20 gennaio 2017

Windows 10: Recuperare spazio su disco compattando il sistema operativo

Windows 10 include un potente strumento che permette di eseguire la compressione del sistema operativo. La compressione avviene tramite un efficiente algoritmo che consente al sistema operativo di occupare meno spazio su disco e con un impatto impercettibile sulle prestazioni. I passaggi per attivare/disattivare la compressione sono molto semplici tuttavia, prima di procedere, è utile avere un backup del sistema (nel caso in cui la procedura venga interrotta da un problema hardware o da un black out) e verificare l'attuale stato della compressione.


Verificare lo stato della compressione del sistema

  • Cliccare con il tasto destro del mouse sull'icona Start e selezionare dal menu contestuale la voce Prompt dei comandi (amministratore);
    Windows 10, Prompt dei comandi (amministratore)
    FIG 1 - Windows 10, Prompt dei comandi (amministratore)
  • Dal prompt dei comandi digitare il seguente comando seguito da invio
    Compact /CompactOS:query

    Windows 10, Compact /CompactOS:query
    FIG 2 - Windows 10, Compact /CompactOS:query

    In risposta verrà fornito lo stato del sistema e verrà indicato se è utile attivare o meno la compressione.
    Ad es. nel caso si riceva il messaggio Il sistema non è nello stato compatto perché Windows ha determinato che non è utile per questo sistema la compressione non porterebbe ad alcun vantaggio.
    Se in risposta al comando si riceve il messaggio Il sistema non è nello stato compatto ma potrebbe diventare compatto in base alle esigenze la compressione potrebbe fare al nostro caso.

Attivare la compressione del sistema

  • Avviare il Prompt dei comandi (amministratore);
  • Digitare ed eseguire il comando
    Compact /CompactOS:always

    L'operazione di compressione può richiedere un po' di tempo e non bisogna spegnere il PC prima che sia terminata. La quantità di spazio recuperata sul disco varia a seconda della configurazione di sistema. Al termine della compressione l'impatto sulle prestazioni del sistema è minimo.

Disattivare la compressione del sistema

  • Dal Prompt dei comandi (amministratore) eseguire il comando
    Compact /CompactOS:never 

    I file verranno decompressi e andranno ad occupare più spazio su disco. Anche in questo caso il sistema non va spento fino al termine dell'operazione.



mercoledì 18 gennaio 2017

MS Excel: Ordinare i fogli in ordine alfabetico

Chi utilizza file MS Excel con all'interno numerosi fogli può trovare utile avere la possibilità di poterli ordinare in ordine alfabetico. Purtroppo Excel non dispone di una funzione integrata che esegue tale operazione ma a questa mancanza si può facilmente ovviare utilizzando VBA (Visual Basic for Application):
  • Da Excel, aprire l'editor VBA tramite la combinazione di tasti ALT+F11;
  • Cliccare sul menu Inserisci e selezionare la voce Modulo;
    Excel, VBA Inserisci Modulo
    FIG 1 - Excel, VBA Inserisci Modulo
  • Incollare il seguente codice
    Sub OrdinaFogli()
    Dim i As Integer
    Dim j As Integer
    Dim ordinamento
       ordinamento = InputBox("Digitare 1 per ordinare i fogli in modo crescente (dalla A alla Z), 2 per ordinare i fogli in modo 
  •       decrescente (dalla Z alla A):", "Ordina fogli", "1")
       If ordinamento = "" Then
        Exit Sub
       End If
       If IsNumeric(ordinamento) And ordinamento >= 1 And ordinamento <= 2 Then
         For i = 1 To Sheets.Count
          For j = 1 To Sheets.Count - 1
            If ordinamento = 1 Then
              If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
                  Sheets(j).Move After:=Sheets(j + 1)
              End If
                 
            ElseIf ordinamento = 2 Then
               If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
                    Sheets(j).Move After:=Sheets(j + 1)
               End If
            End If
          Next j
         Next i
         Else
          MsgBox "Il valore inserito non è valido!"
         End If
    
    End Sub
    
    
  • Salvare il progetto (CTRL+S);
  • Chiudere l'editor con la combinazione ALT+Q;

Per richiamare la funzione premere la combinazione ALT+F8, selezionare OrdinaFogli e cliccare sul pulsante Esegui. Nella finestra di dialogo digitare il tipo di ordinamento desiderato:
1 - per ordinare i fogli in modo crescente;
2 - per ordinare i fogli in modo decrescente.
Excel, Esegui funzione
FIG 2 - Excel, Esegui funzione
Indicare il tipo di ordinamento desiderato
FIG 3 - Indicare il tipo di ordinamento desiderato

Cliccando sul link che segue è possibile scaricare un file di testo contenente il codice VBA
DOWNLOAD



lunedì 16 gennaio 2017

C#: Oscurare il monitor utilizzando le API di Windows

In questo articolo verrà mostrato come gestire il monitor e oscurarlo tramite l'utilizzo di C# e le API (Application Programming Interface) di Windows. Per la gestione del monitor tramite C# è possibile utilizzare la funzione PostMessage(). Tale funzione invia il messaggio specificato alla coda associata al thread che ha generato la finestra, quindi esce senza aspettare che il messaggio venga processato.

La prima operazione da eseguire consiste nel dichiarare la funzione PostMessage() all'interno del codice. In Visual C# questo avviene con le seguenti righe di codice
[DllImport("user32.dll", SetLastError = true)]
static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

I parametri di PostMessage() sono:
hWnd - rappresenta l'Handle della finestra che riceve il messaggio;
Msg - specifica il messaggio da inviare alla finestra;
wParam - permette di specificare informazioni aggiuntive relative al messaggio;
lParam - specifica lo stato del monitor.


hWnd - Handle della finestra

Per quanto riguarda l'handle da passare alla funzione ci sono diverse possibilità. Nel caso di applicazioni basate su finestre è possibile utilizzare l'handle della finestra corrente: this.Handle.
All'interno di librerie dll o di applicazioni console, invece, è possibile utilizzare delle costanti come indicato su MSDN: 0xFFFF  per inviare il messaggio a tutte le finestre superiori oppure -1 per inviare il messaggio alla finestra superiore a tutte le altre. 

In alternativa si può ricercare l'handle di una finestra aperta utilizzando la seguente funzione
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
La funzione recupera l'handler della finestra superiore al form la cui classe è indicata da lpClassName e nella barra del titolo è presente la stringa lpWindowName. Passando null ad entrambi i parametri della funzione verrà recuperato l'handle della finestra superiore a tutte le altre.



Msg - Messaggio da inviare alla finestra

Dopo l'handler è necessario specificare il messaggio da inviare alla finestra. Per il messaggio è possibile utilizzare la costante 0x0112 che indica un comando di sistema. Il valore, all'interno del codice allegato all'articolo, è rappresentato dalla seguente costante:
const int WM_SYSCOMMAND = 0x0112;



wParam - Informazioni aggiuntive relative al messaggio

Al parametro wParam viene passato il valore 0xF170 che permette la gestione dell'alimentazione del monitor. All'interno del codice tale parametro viene passato utilizzando la costante SC_MONITORPOWER.


lParam - Stato del monitor

L'ultimo parametro da specificare è lParam che indica lo stato in cui impostare il monitor: -1 per accesso, 2 per spento, 1 per standby. 


C#, Oscurare lo schermo tramite PostMessage()
FIG 1 - C#, Oscurare lo schermo tramite PostMessage()


Di seguito è possibile scaricare i file sorgenti del progetto. Il progetto può essere aperto e modificato tramite Visual Studio oppure tramite ambienti di sviluppo di terze parti come ad es. SharpDevelop
DOWNLOAD
Turn Off Screen
FIG 2 - Turn Off Screen



Al posto di PostMessage() è possibile utilizzare anche altri funzioni API come SendMessage(), PostThreadMessage(), SendNotifyMessage() e SendMessageCallback().

SendMessage()
Invia il messaggio ad una o più finestre e attende che venga processato.
[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

  
PostThreadMessage()
Inserisce il messaggio all'interno della coda del thread specificato. Anche in questo caso la funzione termina senza attendere che il thread processi il messaggio.
[DllImport("user32.dll")]
static extern bool PostThreadMessage(uint idThread, uint Msg, UIntPtr wParam, IntPtr lParam);

 
SendNotifyMessage()
Invia il messaggio ad una o più finestre. Se la finestra è stata creata dal thread chiamato, SendNotifyMessage chiama la routine della specifica finestra e non termina finchè il messaggio non è stato processato. Se la finestra è stata creata da un thread diverso, SendNotifyMessage passa il messaggio alla routine delle finestre e termina senza attendere l'esecuzione del messaggio.
[DllImport("user32.dll", SetLastError=true, CharSet=CharSet.Auto)]
static extern bool SendMessageCallback(IntPtr hWnd, uint Msg,UIntPtr wParam, IntPtr lParam, SendMessageDelegate lpCallBack,
                                       UIntPtr dwData);

  
SendMessageCallback()
Richiama la routine della finestra specificata e termina immediatamente. Dopo che la routine ha processato il messaggio, il sistema chiama la funzione di callback specificata passandole il risultato dell'elaborazione.    
[DllImport("user32.dll", SetLastError=true, CharSet=CharSet.Auto)]
static extern bool SendNotifyMessage(IntPtr hWnd, uint Msg, UIntPtr wParam, IntPtr lParam);

  

venerdì 13 gennaio 2017

Google Chrome: Riavviare il browser in maniera rapida

Per riavviare in maniera veloce Chrome, basta digitare chrome://restart nella barra degli indirizzi seguito da invio. Il comando chiuderà tutte le istanze del browser (comprese quelle legate a profili diversi) per poi riaprirle recuperando tutte le schede che erano aperte in precedenza.


Google Chrome, riavviare il browser in maniera rapida
FIG 1 - Google Chrome, riavviare il browser in maniera rapida




giovedì 12 gennaio 2017

Windows 10: Abilitare in Edge la richiesta del percorso di download dei file

Per default Microsoft Edge salva i file scaricati all'interno della cartella Download. Per fare in modo che ad ogni download si possa selezionare il percorso in cui salvare il file è possibile procedere in 2 modi: tramite registro di sistema oppure tramite le opzioni del browser (solo a partire da Windows 10 Anniversary Update).


Metodo 1: 

  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • Posizionarsi su
    HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge
  • Creare una nuova chiave assegnandole come nome Download;
  • All'interno della chiave Download creare un nuovo valore DWORD (32 bit), rinominarlo in EnableSavePrompt e valorizzarlo ad 1.
Regedit, abilita in Edge la richiesta del percorso di download dei file
FIG 1 - Regedit, abilita in Edge la richiesta del percorso di download dei file
Dal seguente link è possibile scaricare i file .reg per abilitare/disabilitare la visualizzazione della richiesta del percorso di download del file.
DOWNLOAD



Metodo 2:

Con l'aggiornamento a Windows 10 Anniversary Update, Microsoft ha reso possibile tale operazione tramite le opzioni di Edge:

  • Da Microsoft Edge cliccare sul pulsante Altro in alto a destra (pulsante con i tre puntini) quindi selezionare Impostazioni;
    FIG 2 - Microsoft Edge, Impostazioni
  • Cliccare su Visualizza impostazioni avanzate;
    Microsoft Edge, Visualizza impostazioni avanzate
    FIG 3 - Microsoft Edge, Visualizza impostazioni avanzate
  • Attivare l'opzione Richiedi l'operazione da eseguire con ogni download.
    Microsoft Edge, Richiedi l'operazione da eseguire con ogni download
    FIG 4 - Microsoft Edge, Richiedi l'operazione da eseguire con ogni download

A questo punto Microsoft Edge, all'avvio del download di un file, visualizzerà la notifica delle opzioni di salvataggio. Cliccando su Salva con nome sarà adesso possibile scegliere la cartella nella quale salvare il file




mercoledì 11 gennaio 2017

Windows 10: Rimuovere la visualizzazione degli account locali dalla schermata di login

La schermata di logon di Windows 10 visualizza tutti gli account locali che hanno eseguito l'accesso al sistema. Per fare in modo che tali account locali non vengano più visualizzati è possibile procedere tramite registro di sistema:
  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • Posizionarsi su
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
  • Creare, se non presente, la chiave SpecialAccounts;
  • All'interno di SpecialAccounts creare una nuova chiave e nominarla UserList;
  • Posizionarsi sulla chiave appena creata e al suo interno creare un nuovo valore di tipo DWORD (32 bit), nominarlo con il nome dell'account locale che si intende nascondere e assicurarsi che sia valorizzato a 0.
Regedit, SpecialAccounts\UserList
FIG 1 - Regedit, SpecialAccounts\UserList

Un metodo alternativo alla modifica delle chiavi di registro consiste nell'utilizzare i Criteri di sicurezza locali:
  • Avviare l'editor dei criteri di sicurezza locali (WIN+R e digitare secpol.msc seguito da invio);
  • Posizionarsi su Impostazioni sicurezza->Criteri locali->Opzioni di sicurezza;
  • Sul lato destro della finestra, eseguire un doppio click sul criterio Accesso interattivo: non visualizzare l'ultimo nome utente;

    Criteri di sicurezza locali
    FIG 2 - Criteri di sicurezza locali
  • Abilitare l'opzione Attivato e cliccare su OK.

    Accesso interattivo: non visualizzare l'ultimo nome utente
    FIG 3 - Accesso interattivo: non visualizzare l'ultimo nome utente





martedì 10 gennaio 2017

Windows Quick Tip: Eliminare i documenti recenti alla disconnessione dal sistema

Il sistema operativo tiene traccia delle attività svolte dall'utente al fine di velocizzarne il lavoro. Proprio a tale scopo il sistema memorizza e visualizza i documenti aperti di recente dall'utente. Nel caso in cui venga utilizzato un account condiviso tra più persone, tale funzionalità potrebbe rilevare informazioni riservate. Se proprio non è possibile utilizzare un account personale si può fare in modo che il sistema elimini la lista dei documenti recenti ad ogni logoff o riavvio.
Le strade percorribili per raggiungere tale scopo sono 2: tramite il registro di sistema (valido per tutte le versioni di Windows) oppure tramite l'utilizzo dell'Editor Criteri di gruppo locali (solo per le versioni Professional e Enterprise del sistema operativo).


Metodo 1

Impostare l'eliminazione dell'elenco dei file recenti agendo tramite il registro di sistema.
  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • Posizionarsi su 
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer 

    se non presente creare la chiave Explorer.
  • Creare un nuovo valore DWORD (32 bit) e digitare il nome ClearRecentDocsOnExit. Eseguire un doppio click sul valore appena creato e impostare il campo Dati valore ad 1 quindi confermare cliccando su OK.
Regedit, valore ClearRecentDocsOnExit
FIG 1 - Regedit, valore ClearRecentDocsOnExit

Dal seguente link è possibile scaricare i file .reg che permettono di abilitare/disabilitare la cancellazione dei file recenti al logoff.
DOWNLOAD


Metodo 2

Il secondo metodo consiste nell'utilizzare l’editor criteri di gruppo locali (gpedit.msc) presente nelle versioni Professional ed Enterprise di Windows.
  • Premere la combinazione di tasti WIN+R per aprire la finestra di dialogo Esegui e digitare gpedit.msc seguito da invio per aprire l'editor criteri di gruppo locali;
  • Posizionarsi su Criteri Computer Locale->Configurazione utente->Modelli amministrativi->Menu e Start e barra delle applicazioni;
    Editor Criteri di gruppo locali, Cancella la cronologia dei documenti aperti recentemente in uscita
    FIG 2 - Editor Criteri di gruppo locali, Cancella la cronologia dei documenti aperti recentemente in uscita
  • Eseguire doppio clic su Cancella la cronologia dei documenti aperti recentemente in uscita, selezionare l'opzione Attivata quindi confermare cliccando su OK.
    Attiva criterio Cancella la cronologia dei documenti aperti recentemente in uscita
    FIG 3 - Attiva criterio Cancella la cronologia dei documenti aperti recentemente in uscita





domenica 8 gennaio 2017

Google Chrome: Trasformare la scheda corrente in un editor di testo

Per trasformare la scheda corrente del browser Google Chrome in un editor di testo in cui scrivere qualche appunto basta digitare, nella barra degli indirizzi, il seguente codice:
data:text/html, <html contenteditable>
Google Chrome, trasformare la scheda corrente in un editor di testo
FIG 1 - Google Chrome, trasformare la scheda corrente in un editor di testo

Se si desidera impostare un carattere di dimensioni più grandi e lasciare spazio ai margini della pagina, copiare e incollare il seguente codice:
data:text/html, <body contenteditable style="font: 2rem/1.5 monospace;max-width:60rem;margin:0 auto;padding:4rem;">
Google Chrome, impostare font e margini
FIG 2 - Google Chrome, impostare font e margini



martedì 3 gennaio 2017

Outlook Quick Tip: Copiare la struttura di cartelle e sottocartelle presenti in un file PST all'interno di un altro file

In ambiente di lavoro potremmo avere la necessità di creare un nuovo file archivio (.PST) con la stessa struttura di cartelle/sottocartelle presente in un altro file.
Outlook non permette di copiare solo la struttura delle cartelle escludendo le email in queste contenute tuttavia, con un piccolo trucco, possiamo raggiungere il nostro obiettivo.

Vediamo come fare in Outlook 2016 e versioni precedenti.
  • Avviare Outlook e assicurarsi che il file PST da utilizzare come modello sia connesso;
  • Dal menu File selezionare Informazioni;
  • Cliccare sul pulsante  Strumenti (Strumenti pulizia per Outlook 2013 e antecedenti) quindi selezionare Pulisci vecchi elementi... (Archivio in Outlook 2013 e antecedenti);
    Outlook, Pulisci vecchi elementi...
    FIG 1 - Outlook, Pulisci vecchi elementi...
  • Nella nuova finestra selezionare l'opzione Archivia la cartella e tutte le sottocartelle e, nel riquadro sottostante, selezionare il file PST da utilizzare come modello;
  • In Archivia elementi antecedenti inseriamo una data sicuramente antecedente alla prima email archiviata nel file (ad es. 01/01/1995);
  • In File archivio impostare il percorso e il nome del nuovo file che si intende creare (o selezionare un file PST su cui si intende copiare la struttura), quindi cliccare su OK e attendere il termine dell'operazione.

    Outlook, archiviazione elementi
    FIG 2 - Outlook, archiviazione elementi

A questo punto avremo il nostro file con la stessa struttura di quello esistente ma privo di email.