Autohotkey 如何免疫我的反进程脚本以防注销和关闭?

Autohotkey 如何免疫我的反进程脚本以防注销和关闭?,autohotkey,anki,Autohotkey,Anki,我正在尝试用autohotkey构建一个脚本,这会让我自己和flashcard程序Anki的其他用户感到恼火,因为他们在学习过程中中途退出了 到目前为止,我已经写了以下内容 InputBox, TimeMin, ATTENTION, Enter how long would you like to commit to answering flashcards in minutes. TimeMili:=TimeMin*60*1000 SetTimer, Meh, %TimeMili% a:=0

我正在尝试用autohotkey构建一个脚本,这会让我自己和flashcard程序Anki的其他用户感到恼火,因为他们在学习过程中中途退出了

到目前为止,我已经写了以下内容

InputBox, TimeMin, ATTENTION, Enter how long would you like to commit to answering flashcards in minutes.
TimeMili:=TimeMin*60*1000
SetTimer, Meh, %TimeMili%
a:=0
While a < 1
{
IfWinActive User 1 - Anki
    {
    MouseMove,1298, 981
    WinKill Task Manager
    WinMaximize User 1 - Anki
    }
    Else
    {
        WinKill Task Manager
        IfWinExist User 1 - Anki 
            {
            WinActivate User 1 - Anki
            MouseMove,1298, 981
            }
    }
}
return

!F4::
MouseMove 350,350
return

Meh:
MsgBox WELL DONE U R NOW FREE
SetTimer,,OFF
a:=10
Return

Lwin::
Return

Rwin::
Return
InputBox,TimeMin,ATTENTION,输入您希望在几分钟内回复抽认卡的时间。
TimeMili:=TimeMin*60*1000
设置计时器,Meh,%TimeMili%
a:=0
而a<1
{
IfWinActive用户1-Anki
{
MouseMove,1298981
WinKill任务管理器
WinUser 1-Anki
}
其他的
{
WinKill任务管理器
IfWinExist用户1-Anki
{
WinActivate用户1-Anki
MouseMove,1298981
}
}
}
返回
!F4::
鼠标移动350350
返回
无聊的:
MsgBox做得好现在免费
设置计时器,关闭
a:=10
返回
Lwin::
返回
鲁温::
返回
此脚本禁用alt+f4,杀死taskmanager,最小化anki窗口时使其最大化,并在用户定义的分钟数内防止鼠标靠近程序窗口外部的红色退出按钮。由于anki可以在不使用鼠标的情况下导航,这会有选择地阻止拖延行为,而不会妨碍学习

该脚本运行得很好,但可以通过重新启动计算机或通过control alt delete缓慢注销(win+L不终止脚本)来克服。在现代windows版本中很难禁用Control alt delete,这可能是一种恶意软件预防措施

我建议的解决方案是让脚本在激活时执行一些恼人的操作(例如删除所有桌面快捷方式),并在用户定义的时间段终止时撤消相同的操作。我相信,如果用户注销/关闭/重新启动/缓慢注销,这将使恼人的操作无法修复

我曾考虑过使用该脚本在startup文件夹中创建另一个恼人的脚本,但这可以通过注销而不是重新启动/关闭来避免

只有当用户有很多快捷键时,重命名/删除快捷键才令人讨厌

在桌面和其他文件夹上创建大量文本文件太容易逆转,用户在完成生成之前可以忽略这些文件

禁用互联网会很好,但仍会留下离线干扰(如视频游戏)


如何最好地着手设计这样一个行动,将暂时禁用一台PC,这是微不足道的和可靠的,但耗时和无聊的撤销

虽然您的自动热键解决方案是劝阻人们退出程序的一种聪明方法,但由于以下原因,您永远不会得到真正的100%坚如磐石的解决方案:您与一个允许做事情的用户登录。如果你能做一些事情,你和其他人会想出一个聪明的方法来做,而且,就像AutoHotkey一样神奇,它不能禁用电源线的拔出

另一方面,是的,你可以让规避保护措施的惩罚变得越来越痛苦(直到倒数第二个
格式c:
核选项,我认为它可以保证99%的合规性),但你总是会遇到问题,而且仍然得不到合规性

更好的
解决方案是使用通过组/本地安全策略烘焙到Windows中的功能,这将限制事情的发展。通过使用具有锁定权限的特殊用户,他们将无法执行操作,因为他们无法执行操作(例如,您可以禁用“开始”菜单、电源选项、站点等)


真的想把事情锁定在一个应用程序上吗?嗯,Windows有一个特别的功能,你实际上只能运行一个应用程序,无论发生什么,你都无法摆脱它。从Ctrl-Alt-Delete中删除注销选项到删除任务管理器,可以应用几十种特殊方法。

这听起来似乎正危险地接近恶意软件领域。不是说你在制造恶意软件,只是说如果有什么东西出了问题,你无法杀死它,它可能是危险的。一种更安全的方法(imo)是将用户锁定到VM中,在VM中访问物理机器上的文件会更困难。(+1,因为这让我感兴趣)关于如何在实践中实现这一点,有什么建议吗?我不是管理员,我只是一个寻找好解决方案的普通用户。(理想情况下,许多人也可以从中受益,理想情况下,我的祖母也可以在没有太多帮助的情况下使用这个解决方案)这个解决方案对我来说是否实用,可以写入任何windows用户都可以下载和运行的程序,还是只有当我是所有想要使用该程序的人的管理员时才有用?我只是一名硕士生,对其他人的电脑没有特殊的控制能力,所以如果是后者,我就无法利用你的答案。我远不是一个有经验的程序员,但如果能切实取得好的结果,我愿意在这个项目上投入大量的工作。如果您有任何进一步的建议,我们将不胜感激。