Leonardo.it

I say blog!


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

Di Andrea Guida (Naqern), in Opensource, Software, Tips/Trick, Utility, Windows, desktop, script.

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 := 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,&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

7 Commenti Scritto da Andrea Guida (Naqern)
Altri articoli:

Articoli correlati a "Windows, come visualizzare la barra del menu start alla sola pressione del tasto Win"


Commenti:

Sono stati scritti 7 commenti su "Windows, come visualizzare la barra del menu start alla sola pressione del tasto Win"

  1. witsche

    mi da errore alla riga 78!!!

  2. frank_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?

  3. frank_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

  4. naqern

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

    ciao! ;)

  5. naqern

    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! :)

  6. naqern

    @lukychan: eheheh, grazie! ;)


Categorie

Feed RSS
Tieniti sempre aggiornato, iscriviti ora ai Feed Rss.
MWSF09 Live Blog

Live Blog del Keynote- Macworld 2009

Guadagnare Online

guadagnare online

Registrati & Login
Registrati ed identifica i tuoi commenti comodamente.
Newsletter
Inserisci il tuo indirizzo email per iscriverti alla Newsletter e ricevere tutti i nuovi post del blog:
Articoli in Evidenza
Tag Cloud 3D