防止 Windows 10 上的屏幕锁定/睡眠锁定/密码锁定/等

问题描述 投票:0回答:2

我有一个基于计算机的测试,需要几个小时才能完成。

但是,测试有时会超时,因为我的电脑“以某种方式进入睡眠状态”。

这可能与测试由两个通过端口相互通信的进程组成这一事实有关,所以我怀疑网络可能以某种方式被禁用(即使它完全是“本地网络”)。

我在

设置
“页面”的
电源和睡眠
下禁用了screen turn offsleep

还是不走运,屏幕在某个时候被密码锁定,我怀疑这会导致测试停止在后台运行。

我什至遵循了我在网上找到的一个程序,通过 Regedit 禁用屏幕锁定,大约需要 18 个步骤(这家公司到底为什么会发现这是一个合理的用户体验)。

这个问题有解决办法吗?

windows sleep
2个回答
-1
投票

找到了一个(非常hacky)的解决方案:

如果您将所有窗口保持最小化,则屏幕不会被锁定。

这么棒的公司,多么棒的操作系统!!!


-1
投票

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
命令就可用了。

有一种方法可以将上述小程序转换为可执行文件,而不需要批处理文件启动器。

© www.soinside.com 2019 - 2024. All rights reserved.