使用Python解锁计算机屏幕

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

我为我们的网站编写了一些自动化代码,其中使用sikuli进行图像自动化。但有时我发现我的计算机屏幕被锁定,这就是为什么许多测试用例都失败了。所以我想编写一些python代码来保持屏幕解锁。

这是我为锁定屏幕编写的代码补丁,现在我正在搜索如何解锁屏幕:

import os

winpath = os.environ["windir"]
os.system(winpath + r'\system32\rundll32 user32.dll, LockWorkStation')

注意:我已经调整了所有导致屏幕锁定的显示器设置。

python robotframework sikuli
1个回答
0
投票

要正常工作,Sikuli需要UI。这意味着用户应该登录。以下是如何实现这一目标的步骤:

使用自动登录

  1. 下载并使用Sysinternals Autologon

您应该重定向控制台以便随时拥有UI

  1. 在任务计划程序中创建新任务
  2. 单击“常规”选项卡中的“使用最高权限运行”
  3. 接下来在Triggers选项卡中添加New trigger
  4. 接下来在“新建触发器”对话框中选择“从用户会话断开连接”,从“开始任务”下拉列表中按“确定”,使用默认设置或通常用户登录
  5. 在桌面上的文件夹switch-ui中创建一个switch-ui.bat文件,其中包含以下内容

echo ################################################### >> %USERPROFILE%\Desktop\rdc_switch_log.log 
date /t >> %USERPROFILE%\Desktop\rdc_switch_log.log time /t >> %USERPROFILE%\Desktop\rdc_switch_log.log 
timeout 3 
query session >> %USERPROFILE%\Desktop\rdc_switch_log.log 
query session > %localappdata%\log.txt

findstr "rdp" %localappdata%\log.txt| findstr "Active" 

if %errorlevel%==0 ( 
    echo You are in RDP session. Do nothing! >>%localappdata%\log.txt 
    ) 
else ( 
    tscon 1 /dest:console 
    tscon 2 /dest:console 
    tscon 3 /dest:console 
    tscon 4 /dest:console 
    )
  1. 接下来在Actions选项卡Action中
  2. 在New Action对话框中,从Action下拉列表中选择“Start a program”
  3. 在设置程序/脚本中添加文件的完整路径“C:\ Users \%yourUsers%\ Desktop \ switch-ui \ switch-ui.bat”
  4. 在“开始”(可选)中,使用脚本“C:\ Users \%yourUsers%\ Desktop \ switch-ui”为文件夹添加路径
  5. 按确定并完成任务

重要提示:为了测试它的工作原理。

  1. 获取录像机
  2. 从远程桌面连接(RDC)登录计算机
  3. 开始视频
  4. 关闭RDC
  5. 等2分钟
  6. 再次连接
  7. 停止视频
  8. 观看视频

只有在关闭RDC时才会录制黑色视频,并且当您使用RDC连接几秒钟时,这取决于您的机器速度。

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