如何在屏幕保护程序运行时禁用所有互联网连接?

如何在屏幕保护程序运行时禁用所有互联网连接?

我想知道在启动屏幕保护程序时是否可以完全断开台式电脑与互联网的连接?我还想在屏幕保护程序关闭时重新连接到之前选择的网络(我目前正在使用 Wi-Fi 卡)。目前,我在屏幕保护程序启动时运行批处理文件,以便我可以启动备份,然后批处理文件启动我制作的屏幕保护程序,因此如果需要,我可以在退出时调用另一个批处理文件。另一个选项是使用 .NET API 来执行此操作,但我找不到任何有关使用该 API 与 Windows 功能交互的资源。我正在运行 Windows 8 Pro。

谢谢!

答案1

是的,只需编写一点脚本就可以实现。

$adaptor = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.Name -like "*Intel(R) 82567LM-2 千兆网络连接*"}
$ssrunning = (获取进程 -name notepad -ErrorAction SilentlyContinue)
如果 ($ssrunning){$adaptor.Disable()}
否则{$adaptor.Enable()}

在 Windows 8.1 和 2012 中实际上更容易。有 Powershell 4 cmdletenable-netadpter可以disable-netadapter简化该过程...但这是更通用的并且应该可以在大多数机器上运行。

从 Powershell 提示符运行Get-WmiObject -Class Win32_NetworkAdapter列出您的网络适配器名称。在脚本中,将其替换Intel(R) 82567LM-2 Gigabit Network Connection为您的适配器的名称。

另外,您需要知道屏幕保护程序的进程名称,如果它是 mystify.scr,我相信该进程将被称为 mystify。notepad在脚本中用进程名称替换。

只需以提升的权限运行此 Powershell 脚本(必须启用/禁用适配器),也许作为 Windows 计划任务,就可以了。

相关内容