Geekissimo

Windows, come visualizzare la barra del menu start alla sola pressione del tasto Win

 
Andrea Guida (@naqern)
28 Marzo 2008
7 commenti

Ci sono moltissimi geek che amano avere lo schermo del proprio amato computer sempre libero, nascondendo anche tutti quegli elementi che sarebbero da considerarsi “indispensabili” come la barra del menu start di Windows.

Certo, Windows ha già una funzione integrata che permette di visualizzare la taskbar al solo passaggio del cursore del mouse nella parte bassa dello schermo (o in qualunque altra area sia stata piazzata la barra del menu start), ma va ammesso che non è il massimo: alzi infatti la mano chi, dopo aver applicato la scomparsa automatica, non si è visto ricomparire la taskbar in un centinaio di occasioni non volute, nelle quali si va per sbaglio con il cursore del mouse sull’area interessata.

Ed allora perché non porre rimedio a tutto ciò e visualizzare la barra del menu start alla sola pressione del tasto Win? Basta davvero poco:

  1. Scaricare ed installare AutoHotkey
  2. Aprire il blocco note ed incollarvi quanto segue:

  3. ;PushToShow.ahk
    ; Only shows the taskbar when the Windows key is pushed
    ;Skrommel @ 2008

    #SingleInstance,Force
    SetWinDelay,0
    DetectHiddenWindows,On
    OnExit,EXIT

    WinGet,active,Id,ahk_class Progman
    WinGet,taskbar,Id,ahk_class Shell_TrayWnd
    Gosub,AUTOHIDE
    Gosub,HIDE
    Gosub,WATCH
    Return

    ~LWin::
    SetTimer,HIDE,Off
    WinSet,Region,,ahk_id %taskbar%
    WinActivate,ahk_class Shell_TrayWnd
    Return

    ~LWin Up::
    SetTimer,HIDE,100
    Return

    HIDE:
    MouseGetPos,,,mwin
    If (mwin=taskbar)
    Return
    If (WinExist(“A”)=taskbar)
    WinActivate,ahk_id %active%

    SHRINK:
    WinGetPos,wx,wy,ww,wh,ahk_id %taskbar%
    ww-=2
    wh-=2
    WinSet,Region,2-2 W%ww% H%wh%,ahk_id %taskbar%
    SetTimer,HIDE,Off
    Return

    EXIT:
    WinSet,Region,,ahk_id %taskbar%
    Gosub,NORMAL
    ExitApp

    WATCH: ;Stolen from SKAN at http://www.autohotkey.com/forum/topic24214.html
    Gui,+LastFound
    hWnd:=WinExist()
    DllCall(“RegisterShellHookWindow”,UInt,hWnd)
    MsgNum:=DllCall(“RegisterWindowMessage”,Str,”SHELLHOOK”)
    OnMessage(MsgNum,”ShellMessage”)
    Return

    ShellMessage(wParam,lParam)
    {
    Global active
    If (wParam=4) ;HSHELL_WINDOWACTIVATED
    {
    WinGetClass,class,ahk_id %lParam%
    If (class<>“Shell_TrayWnd”)
    active:=lParam
    If (lParam=0)
    WinGet,active,Id,ahk_class Progman
    }
    }

    AUTOHIDE: ;Stolen from SKAN at http://www.autohotkey.com/forum/topic26107.html
    ABM_SETSTATE := 10
    ABS_NORMAL := 0x0
    ABS_AUTOHIDE := 0x1
    ABS_ALWAYSONTOP := 0x2
    VarSetCapacity(APPBARDATA,36,0)
    Off:=NumPut(36,APPBARDATA)
    Off:=NumPut(WinExist(“ahk_class Shell_TrayWnd”),Off+0)

    NumPut(ABS_AUTOHIDE|ABS_ALWAYSONTOP, Off+24)
    DllCall(“Shell32.dll\SHAppBarMessage”,UInt,ABM_SETSTATE,UInt,&APPBARDATA)
    Return

    NORMAL:
    NumPut(ABS_ALWAYSONTOP,Off+24)
    DllCall(“Shell32.dll\SHAppBarMessage”,UInt,ABM_SETSTATE,UInt,&APPBARDATA)
    Return

  4. Salvare il file come [nome a scelta].ahk
  5. Aprire il file appena creato
  6. Premere il tasto Win della tastiera per visualizzare/nascondere la taskbar

Ed ecco fatto, adesso sarà possibile visualizzare la barra del menu start alla sola pressione del tasto Win. Per disabilitare lo script basta fare click destro sull’icona di AutoHotkey e scegliere l’apposita opzione dal menu.

Fonte: gHacks
Potrebbe interessarti anche
Articoli Correlati
Video Tutorial: come inserire una firma HTML, RTF o CSS in Gmail con AutoHotKey

Video Tutorial: come inserire una firma HTML, RTF o CSS in Gmail con AutoHotKey

Uno dei limiti degli userscript funzionanti in Firefox grazie all’estensione Greasemonkey è che, in servizi web avanzati come Gmail, ogni minimo cambiamento di questi ultimi finisce con l’annullare il corretto […]

Invertire i ruoli di mouse, tastiera e joystick

Invertire i ruoli di mouse, tastiera e joystick

Mouse, tastiera e joystick: tre strumenti fondamentali con i quali, più o meno tutti abbiamo a che fare con svariate ore al giorno, ognuno con i suoi pregi, i suoi […]

Come passare da 1.000 a 0 e-mail da leggere in una sola giornata

Come passare da 1.000 a 0 e-mail da leggere in una sola giornata

Geek o non geek, studenti o professori, grandi professionisti o persone in cerca di occupazione, ormai quasi tutti hanno a che fare quotidianamente con la posta elettronica, ma talvolta il […]

Windows, come creare un drive associato ad una cartella

Windows, come creare un drive associato ad una cartella

Chissà quante volte nell’arco di una giornata si saltella da una cartella e l’altra per raggiungere sempre un medesimo percorso, quello utilizzato più spesso per salvare i dati di lavoro […]

Tutte le potenzialità del drag and drop in Firefox

Tutte le potenzialità del drag and drop in Firefox

Quasi incredibile ma vero, tutte le potenzialità del drag and drop in Firefox (ovvero quando si trascinano gli elementi con il cursore del mouse) sono per moltissimi utenti ancora un […]

Lista Commenti
Aggiungi il tuo commento

Fai Login oppure Iscriviti: è gratis e bastano pochi secondi.

Nome*
E-mail**
Sito Web
* richiesto
** richiesta, ma non sarà pubblicata
Commento

  • #1frank_piccio

    ragazzi a me non va! o meglio dava degli errori di compilazione x caratteri non riconosciuti, ho provato a correggere, ad aprirlo lo script lo apre solo la barra non scompare cioè è come se venisse a mancare 1 po di bordo!!!! le modifiche le ho apportate alle righe 78 e 83 dove appunto autohotkey trovava l’errore come si fa x farla funzionare?

    28 Mar 2008, 2:28 pm Rispondi|Quota
  • #2frank_piccio

    ;PushToShow.ahk
    ; Only shows the taskbar when the Windows key is pushed
    ;Skrommel @ 2008

    #SingleInstance,Force
    SetWinDelay,0
    DetectHiddenWindows,On
    OnExit,EXIT

    WinGet,active,Id,ahk_class Progman
    WinGet,taskbar,Id,ahk_class Shell_TrayWnd
    Gosub,AUTOHIDE
    Gosub,HIDE
    Gosub,WATCH
    Return

    ~LWin::
    SetTimer,HIDE,Off
    WinSet,Region,,ahk_id %taskbar%
    WinActivate,ahk_class Shell_TrayWnd
    Return

    ~LWin Up::
    SetTimer,HIDE,100
    Return

    HIDE:
    MouseGetPos,,,mwin
    If (mwin=taskbar)
    Return
    If (WinExist(”A”)=taskbar)
    WinActivate,ahk_id %active%

    SHRINK:
    WinGetPos,wx,wy,ww,wh,ahk_id %taskbar%
    ww-=2
    wh-=2
    WinSet,Region,2-2 W%ww% H%wh%,ahk_id %taskbar%
    SetTimer,HIDE,Off
    Return

    EXIT:
    WinSet,Region,,ahk_id %taskbar%
    Gosub,NORMAL
    ExitApp

    WATCH: ;Stolen from SKAN at http://www.autohotkey.com/forum/topic24214.html
    Gui,+LastFound
    hWnd:=WinExist()
    DllCall(”RegisterShellHookWindow”,UInt,hWnd)
    MsgNum:=DllCall(”RegisterWindowMessage”,Str,”SHELLHOOK”)
    OnMessage(MsgNum,”ShellMessage”)
    Return

    ShellMessage(wParam,lParam)
    {
    Global active
    If (wParam=4) ;HSHELL_WINDOWACTIVATED
    {
    WinGetClass,class,ahk_id %lParam%
    If (class“Shell_TrayWnd”)
    active:=lParam
    If (lParam=0)
    WinGet,active,Id,ahk_class Progman
    }
    }

    AUTOHIDE: ;Stolen from SKAN at http://www.autohotkey.com/forum/topic26107.html
    ABM_SETSTATE := 10
    ABS_NORMAL := 0×0
    ABS_AUTOHIDE := 0×1
    ABS_ALWAYSONTOP := 0×2
    VarSetCapacity(APPBARDATA,36,0)
    Off:=NumPut(36,APPBARDATA)
    Off:=NumPut(WinExist(”ahk_class Shell_TrayWnd”),Off+0)

    NumPut(ABS_AUTOHIDE|ABS_ALWAYSONTOP, Off+24)
    DllCall(“Shell32.dll\SHAppBarMessage”,UInt,ABM_SETSTATE,UInt,&amp,APPBARDATA)
    Return

    NORMAL:
    NumPut(ABS_ALWAYSONTOP,Off+24)
    DllCall(“Shell32.dll\SHAppBarMessage”,UInt,ABM_SETSTATE,UInt,&amp,APPBARDATA)
    Return

    ho allegato lo script con le correzioni solo non funziona lo stesso

    28 Mar 2008, 2:30 pm Rispondi|Quota
  • #3naqern

    Strano… comunque qui trovate il file già compilato da me:
    http://www.zshare.net/download/9678973accc553/

    ciao! 😉

    28 Mar 2008, 2:36 pm Rispondi|Quota
  • #4naqern

    Ecco scoperto l’arcano: il codice in se è esatto, ma la traduzione di alcuni caratteri (ad esempio le virgolette) da parte di WordPress no.

    Questo ovviamente non permette una corretta interpretazione dei comandi da parte di autohotkey.

    that’s all! 🙂

    28 Mar 2008, 3:17 pm Rispondi|Quota
  • #5lukychan

    grande Andrea 😉

    28 Mar 2008, 3:52 pm Rispondi|Quota
  • #6naqern

    @lukychan: eheheh, grazie! 😉

    28 Mar 2008, 4:01 pm Rispondi|Quota
  • #7witsche

    mi da errore alla riga 78!!!

    28 Mar 2008, 4:25 pm Rispondi|Quota