我有一个基于计算机的测试,需要几个小时才能完成。
但是,测试有时会超时,因为我的电脑“以某种方式进入睡眠状态”。
这可能与测试由两个通过端口相互通信的进程组成这一事实有关,所以我怀疑网络可能以某种方式被禁用(即使它完全是“本地网络”)。
我在
设置“页面”的
电源和睡眠下禁用了
screen turn off
和sleep
。
还是不走运,屏幕在某个时候被密码锁定,我怀疑这会导致测试停止在后台运行。
我什至遵循了我在网上找到的一个程序,通过 Regedit 禁用屏幕锁定,大约需要 18 个步骤(这家公司到底为什么会发现这是一个合理的用户体验)。
这个问题有解决办法吗?
找到了一个(非常hacky)的解决方案:
如果您将所有窗口保持最小化,则屏幕不会被锁定。
这么棒的公司,多么棒的操作系统!!!
TXR Lisp中的解决方案。
将以下文件保存在
nolock.tl
中,然后运行txr-win nolock.tl
。
例如从
.bat
文件中:
@noecho
start txr-win nolock.tl
(
txr-winl.exe
是txr.exe
的一种风格,它在没有控制台窗口的情况下启动)。
禁用锁定时,会显示一个模式对话框。当您单击“确定”按钮关闭时,系统将恢复到之前的状态。
(typedef UINT uint)
(typedef LPCWSTR wstr)
(typedef HWND (cptr HWND))
(defsymacro NULL cptr-null)
(defsymacro MB_OK #x00000000)
(defsymacro MB_ICONWARNING #x00000030)
(typedef EXECUTION_STATE uint)
(defsymacro ES_CONTINOUS #x80000000)
(defsymacro ES_DISPLAY_REQUIRED #x00000002)
(with-dyn-lib "user32.dll"
(deffi MessageBox "MessageBoxW"
int (HWND LPCWSTR LPCWSTR UINT)))
(with-dyn-lib "kernel32.dll"
(deffi SetThrExecState "SetThreadExecutionState"
EXECUTION_STATE (EXECUTION_STATE)))
(with-resources ((prevstate (SetThrExecState (logior ES_CONTINOUS
ES_DISPLAY_REQUIRED))
(SetThrExecState prevstate)))
(MessageBox NULL "Screen lock disabled\n\runtil you click OK." "NoLock"
(logior MB_OK MB_ICONWARNING)))
您可以从此处下载适用于 Windows 的 TXR:查找
TXR-<version>-Win64.exe
(64 位安装程序)或 TXR-<version>-Win32.exe
(32 位安装程序)。
安装程序将可执行目录放入
PATH
中,这样 txr
和 txr-win
命令就可用了。
有一种方法可以将上述小程序转换为可执行文件,而不需要批处理文件启动器。