windows10下使用沙盒多开uiautoanimation可行性验证

文章目录

⭐前言

大家好,我是yma16,本文分享windows下使用沙盒多开uiautoanimation可行性验证。
背景

实现多开应用程序从而进行自动化控制,批量处理大量数据。

windows 沙盒概念:

Windows 沙盒提供了轻型桌面环境,可以安全地在隔离状态下运行应用程序。 安装在 Windows 沙盒环境下的软件保持"沙盒"状态,并且与主机分开运行。

沙盒是临时的。 关闭后,系统将删除所有软件和文件以及状态。 每次打开应用程序时,都会获得沙盒的全新实例。 但请注意,从 Windows 11 版本 22H2 开始,你的数据会通过从虚拟化环境内启动的重启而持续存在,这对于安装需要操作系统重新启动的应用程序很有用。

安装在主机上的软件和应用程序不会直接出现在沙盒中。 如果需要在 Windows 沙盒环境中运行特定的应用程序,则相应的应用程序必须就是安装在沙盒环境中才行。

Windows 沙盒具有以下属性:

Windows 的部件:此功能所需的一切内容都包含在 Windows 10 专业版和企业版中。 无需下载虚拟硬盘 (VHD) 。

原生:每次 Windows 沙盒运行时,都像全新安装的 Windows 一样干净。

可处置:设备上不会保留任何内容。 当用户关闭应用程序时,系统会丢弃所有内容。

安全:使用基于硬件的虚拟化进行内核隔离。 它依赖 Microsoft 虚拟机监控程序运行单独的内核,可将 Windows 沙盒与主机隔离。

高效:采用集成的内核计划程序、智能内存管理和虚拟 GPU。

参考:https://learn.microsoft.com/zh-cn/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview

python系列文章
python爬虫_基本数据类型
python爬虫_函数的使用
python爬虫_requests的使用
python爬虫_selenuim可视化质量分
python爬虫_django+vue3可视化csdn用户质量分
python爬虫_正则表达式获取天气预报并用echarts折线图显示
python爬虫_requests获取bilibili锻刀村系列的字幕并用分词划分可视化词云图展示
自动化系列
python_uiatuoanimation自动化聊天

⭐sandboxie下载使用

开源仓库:https://github.com/sandboxie-plus/Sandboxie/releases/tag/v1.15.3

下载windows 64位

由于沙盒执行的应用程序

⭐pyinstaller打包python的uiautoanimation成exe

参考:https://pyinstaller.org/en/stable/

快速安装打包

bash 复制代码
pip install -U pyinstaller
pyinstaller your_program.py

打包automation_devicemanager.py成exe 加上 --onefile 打包依赖

python 复制代码
pyinstaller --onefile automation_devicemanager.py

打包成功

⭐sandboxie多开python exe文件验证是否存在多个uiautomaiton执行

exe指定sandboxie运行

运行exe

打开exe无权限问题,可以打开exe所在的文件夹目录,然后运行exe。

查询路径并运行exe。

⭐结论

在沙盒中使用uiautomation控制程序的时候,确实会出现多开控制程序不可行的情况。这是因为uiautomation在控制windows程序时,会将聚焦的区域节点占用,导致其他程序无法被控制。

解决这个问题的一种方法是通过使用虚拟机或者容器技术来实现多开控制程序。在虚拟机或者容器中,每个实例都是相互独立的,可以分别进行控制,不会出现被占用的问题。

另外,还可以尝试使用其他自动化工具或者技术来实现多开控制程序。例如,可以使用模拟键盘和鼠标输入的方法来控制程序,或者使用其他的自动化协议来控制程序,如HTTP接口等。

总之,要在沙盒下实现多开控制程序,需要寻找其他方法来绕过uiautomation的限制,或者使用虚拟机或者容器等技术来实现多开环境。

⭐结束

本文分享到这结束,如有错误或者不足之处欢迎指出!

👍 点赞,是我创作的动力!

⭐️ 收藏,是我努力的方向!

✏️ 评论,是我进步的财富!

💖 感谢你的阅读!

相关推荐
2401_8504916510 分钟前
c++如何通过文件映射mmap在多进程间实现高性能数据共享【进阶】
jvm·数据库·python
iuvtsrt10 分钟前
PHP 中高效查找 CSV 行并获取前后指定偏移行的数据
jvm·数据库·python
m0_4636722010 分钟前
MySQL从库出现大量锁等待怎么办_分析从库执行计划与锁日志
jvm·数据库·python
2301_8092047013 分钟前
为 Go 语言 WaitGroup.Wait() 添加超时机制的实用方案
jvm·数据库·python
2301_7796224138 分钟前
SQL分组聚合优化_GROUP BY索引与优化方案
jvm·数据库·python
m0_7407963643 分钟前
golang如何使用sync.WaitGroup_golang sync.WaitGroup并发等待使用方法
jvm·数据库·python
2401_824222691 小时前
c++如何通过重定向rdbuf来捕获第三方库的日志输出到文件【详解】
jvm·数据库·python
2401_867623981 小时前
CSS如何解决响应式文字大小调整_利用clamp函数实现流体排版
jvm·数据库·python
2501_901006471 小时前
如何使用SQL视图快速生成测试数据_模拟复杂场景
jvm·数据库·python
2401_850491651 小时前
安装宝塔面板提示端口被占用_查找并终止占用进程
jvm·数据库·python