2017-09-13 131 views
1

我想阻止用户切换窗口(类似于信息亭应用程序)。不过,我想随时通过键盘快捷方式将任何应用程序的od(和off)这个行为。当窗口用户切换活动窗口时运行程序

我实现的最好的事情是一个AutoHotkey脚本,它等待激活键盘快捷方式并检测活动窗口的更改,当活动窗口更改时它运行一个程序(我的情况为Clearlock),但锁定计算机也会对于我来说足够了。

当我在计算机上做某件事情时,以及当我想暂时离开并且没有完全锁定计算机时,我会使用它。这可以让我的朋友,女朋友或同事明白,因为我不相信他们。

这里是AutoHotkey的脚本我有:

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 

该脚本的作品完美的Windows 7。但是它不这样做在Windows 10

什么什么会导致这个问题?我如何解决它? 我想要更正脚本。 或任何其他解决方案如何隐藏锁定计算机或swich aplication任何应用程序kios模式或防止切换应用程序。

但是我不需要它来超级安全。因为我不想让我想阻止任何讨厌的人成为朋友。

+0

你为什么不这样做适当亭 –

+0

尝试运行它为管理员。 – Oleg

+0

David Heffernan:正确的信息亭是针对不同的用例。我想,无论我在做什么,我都会正常工作,然后当我想暂时离开计算机时,我无形地锁定了计算机,而没有人注意到计算机已被锁定。 –

回答

1

如果最高的安全性不是一个焦点,那么最简单的解决办法是这样的:

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