2017-09-13 4 views
1

Je voudrais empêcher l'utilisateur de changer de fenêtre (de la même manière que les applications de kiosque). Cependant, je voudrais changer ce comportement od (et off) à tout moment par raccourci clavier pour n'importe quelle application. La meilleure chose que j'ai fait était un script AutoHotkey qui attend l'activation du raccourci clavier et qui détecte les changements de fenêtre active et quand la fenêtre active est changée il exécute un programme (Clearlock dans mon cas) mais verrouiller l'ordinateur serait aussi bien pour moi.Exécuter le programme lorsque l'utilisateur de la fenêtre change de fenêtre active

Je l'utilise lorsque je fais quelque chose avec quelqu'un sur mon ordinateur et quand je veux quitter temporairement et ne pas verrouiller complètement l'ordinateur. Cela pourrait mes amis, ma petite amie ou mes collègues de comprendre que je ne leur fais pas confiance.

Voici le script autohotkey J'ai:

Gui +LastFound 
hWnd := WinExist() 
DllCall("RegisterShellHookWindow", UInt,Hwnd) 
MsgNum := DllCall("RegisterWindowMessage", Str,"SHELLHOOK") 
OnMessage(MsgNum, "ShellMessage") 
Return 

ShellMessage(wParam,lParam) 
{ 
    WinGetTitle, title, ahk_id %lParam% 
    If (wParam=4) { ;HSHELL_WINDOWACTIVATED 
     global kiosk 
     If (kiosk) { 
      global kiosk 
      kiosk := 0 

      Run "%PORTABLE_APPS%\utility\clearlock\ClearLock.exe" 
     } 
    } 
} 

kiosk := 0 

^!K:: 
    global kiosk 
    global kiosk 
    If (kiosk) { 
     kiosk := 0 
     ToolTip "unlocked`n%kiosk%" 
    } Else { 
     kiosk := 1 
     ToolTip "The screen will be locked if necessary`n%kiosk%" 
    } 
    sleep 1000 
    ToolTip 
    Return 

Le script fonctionne parfaitement sous Windows 7. Cependant, il ne fait rien sur les fenêtres 10.

Ce qui pourrait causer le problème? Comment puis-je le résoudre? Je voudrais corriger le script. Ou toute autre solution permettant de verrouiller l'ordinateur de manière invisible ou d'appliquer une application en mode kios ou d'empêcher le basculement d'applications.

Cependant je n'en ai pas besoin pour super sécurisé. Parce que je ne veux pas que les gens que je veux empêcher de faire quelque chose de méchant sont des amis.

+0

Pourquoi faites-vous pas un kiosque approprié –

+0

l'essayer en cours d'exécution en tant qu'administrateur. – Oleg

+0

David Heffernan: Le bon kiosque est pour différents cas d'utilisation. J'imagine que je travaille normalement sur tout ce que je fais et puis quand je veux quitter l'ordinateur temporairement, je verrouille invisiblement l'ordinateur sans que les autres ne remarquent que l'ordinateur est verrouillé. –

Répondre

1

Si la plus grande sécurité n'est pas une mise au point, alors la solution la plus simple serait quelque chose comme ceci:

F3:: 
Loop 
{ 
WinActivate, Untitled - Notepad 
Sleep, 50 
if getkeystate("Esc", "p") 
    {   
     break 
    } 
} 
return