云计算百科
云计算领域专业知识百科平台

解决:Windows Server 2012服务器上,影刀点击图像报错:ShadowBot.UIAutomation.Provider.exe 无法启动此程序,因为计算机中丢失 MFPlat.DLL

目录

  • 1. 背景介绍
  • 2. 解决思路
  • 3. 解决方法

1. 背景介绍

影刀就不用介绍了,功能够用并且强大,一直都有用影刀去做应用,解决一些需要手动重复很多次的工作,解放双手,时间留到更有用的地方。就像影刀的slogan说的:我们创造软件机器人,让人不需要像机器一样工作。当然影刀这一类自动化工具最大的弊端就是前台运行,运行的过程中必须占用键盘鼠标。但相比于它的方便性和易用性,这个勉强可以接受。 说回来,之前做了一个自动获取某个网站的ck的影刀应用,最后获取到的ck是复制到剪贴板里,然后再手动去青龙里更新环境变量,虽然最麻烦的获取ck的过程已经用影刀解决了(有3个账号要登录退出登录退出的),但手动久了又开始犯懒了。正好最近服务器到期,又入手了个新的,2h4g400多,说贵不贵,一天才1块多,说便宜不便宜,因为之前的太便宜了,可惜没有了。昨晚尝试把这整个过程都用影刀自动实现,真正解放双手,甚至不用去管它。

整个流程大概是:

  • 每晚到11点自动运行
  • 获取目标网站ck(3个)
  • 通过应用id和secret获取我的青龙ck
  • 更新青龙目标环境变量
  • 有异常才通知我,不要骚扰

做好了在本地调试OK,放到服务器上,发现第一步里有用到的“图像识别”的功能,上了服务器后,一直报错:ShadowBot.UIAutomation.Provider.exe 无法启动此程序,因为计算机中丢失 MFPlat.DLL

生命不息,折腾不止啊!明明本地环境ok,为啥每次到了服务器就寄了呢?

2. 解决思路

  • 一开始的思路是直接缺什么dll,就手动regsvr32注册什么dll,搜索的时候顺便还了解了一个Windows系统设计的很反人类直觉的东西。“SysWOW64” 和 “System32” 的命名,这2个是反过来的,32位版本的dll放在SysWOW64目录下,而64位版本的dll放在System32目录下,据说是为了兼容,好吧,历史遗留问题。反正这个思路手动试了后,发现还是报错,果断放弃,寻找其他方向
  • 然后就开始借助g老师,问了如下几个问题,启发了解决思路,尝试后果然ok,g老师就是牛* 在这里插入图片描述
  • 每一个问题,g老师都回答列出了多种可能性,一开始说未安装 Media Feature Pack,尝试在服务器管理器里安装,发现没有这个选项,然后g老师说Windows Server 2012 需要启用 Desktop Experience(桌面体验)功能,因为 Media Foundation 属于这一功能的一部分,尝试用powershell启动,发现会卡在24%不动,关了后看g老师还说了替代的办法,用cmd来安装,这次就ok了。
  • 其实最终确定的原因就是Desktop Experience没开启,手动开启了后,影刀点击图像的功能就正常了。

3. 解决方法

  • 使用 PowerShell 检查当前系统是否可以安装 Desktop Experience(桌面体验)功能,Win+R后输入PowerShell ,在打开的界面里输入Get-WindowsFeature
  • 等待一会,在列出的内容里找桌面体验 或 Desktop-Experience,这时会发现最右边的状态显示 Available,表示这个系统可以启用这个功能,但是还没有安装
  • 使用命令提示符运行命令安装 Desktop Experience,Win+R后输入cmd,在打开的界面里输入DISM /Online /Enable-Feature /FeatureName:DesktopExperience /All,等待安装成功后,系统需要重启一次
  • 等重启后,再次在Powershell里用Get-WindowsFeature命令,查看状态,发现状态变成Installed,如图 在这里插入图片描述
  • 再次尝试使用影刀的点击图像功能,发现可以正确识别图片了,ok

over, enjoy!!! 如对您有帮助,感谢投喂! 微信感谢投喂版

赞(0)
未经允许不得转载:网硕互联帮助中心 » 解决:Windows Server 2012服务器上,影刀点击图像报错:ShadowBot.UIAutomation.Provider.exe 无法启动此程序,因为计算机中丢失 MFPlat.DLL
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!