我们有几台(15)个人电脑,用于收集数据并将数据发送回我们的服务器。每台个人电脑都配有内置 GSM 调制解调器,大多数情况下运行良好。
出于经济原因,我们选择了一家低价 SIM 卡供应商,该供应商提供漫游配置文件数据。事实上,我们的客户提供 SIM 卡,不愿意更换供应商。
在下图中,我们可以看到 PC 上的两个网络接口:
- TelenoDK 提供互联网访问。
- 未识别的网络,用于数据收集的本地以太网网络。
默认情况下,Windows 在连接到网络时会显示警告。警告表示我们正在使用漫游配置文件,可能会产生额外费用。一旦我们单击“仍然漫游”,PC 就会连接到互联网。
问题在于,这些电脑位于远程位置,现场没有人可以点击警告。我们希望将 Windows 配置为永远不显示此警告。幸运的是,这很容易:
“始终自动连接”选项似乎提供了此功能。系统启动后,不会显示警告,并且 PC 无需进一步输入即可连接到互联网。但它不能正常工作. 虽然 PC 在系统启动后直接连接,但如果由于任何原因 PC 断开连接(例如由于信号丢失),则会显示警告,我们必须确认警告才能连接到互联网。
我们的解决方案是每天重启一次(Windows 计划任务),但这并不理想。因为有时白天我们会断线,直到第二天我们才知道现场是否有问题,而且每天午夜我们的数据都会出现 10 分钟的漏洞。
不幸的是,我们无法直接联系微软,至少没有一个了解这个过程的人。微软帮助台认为问题出在电话网络运营商或 SIM 卡供应商身上。我们很难相信这一点,在我的手机上,我可以配置漫游时使用数据的设置,一旦设置好,我就不需要重新配置了。
我正在寻找一种方法来消除此警告,或者至少找到解决问题的方法,以便为我们的客户解决问题。
答案1
这很容易解决,使用 自动热键,创建一个脚本,该脚本将监视标题为“连接到网络”的对话框的出现,并在屏幕上出现“仍然漫游”时模拟单击。
我认为单击将关闭对话框,或者需要扩展下面的脚本。
将以下文本放入名为name.ahk
(或任何其他以 结尾的文件名.ahk
)的文件中:
SetTitleMatchMode, 3 ; A window's title must be an exactly match
CoordMode, Mouse, Client ; Coordinates are relative to the active window's client area
Loop { ; Loop forever
WinWait Connect to a Network ; Search a window with this title
WinActivate ; Activate the found window (just in case)
Click, 55, 65 ; Click on "Roam Anyway"
} ; End of loop
要测试,只需启动脚本,例如双击文件。测试时,为了避免脚本在屏幕上出现对话框时不断窃取您的鼠标,您可以暂时删除关键字Loop
,使其成为一次性调用。如果您可以简单地使用 键关闭对话框Esc,则无需这样做,这将使脚本设置为搜索并有效地禁用它,直到对话框重新出现。要关闭脚本本身,请右键单击其托盘图标(绿色 H)并选择退出。
我已经根据您的屏幕截图设置了脚本的参数。这包括命令中WinWait
要等待的窗口的标题以及命令Click
在窗口客户区中的 X、Y 坐标。
如果您发现这些参数有误,请右键单击托盘图标(绿色 H)并选择 Window Spy 以查找正确的参数。确保对话框已激活,然后将鼠标悬停在要单击的位置上。Window Spy 窗口将在“窗口标题”下包含准确的标题,并在“鼠标位置”行“客户端”下包含正确的坐标。
要让脚本始终运行,请将文件放入name.ahk
启动文件夹中。
有关更多信息,请参阅文章
如何在 Windows 7 或 10 中打开“开始菜单”文件夹。