You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何创建带自定义事件触发器的计划任务,连接指定WIFI时触发登录操作

解决方案:为IEventTrigger配置WLAN连接事件XML查询规则

你只需要在创建IEventTrigger实例后,将你准备好的XML查询内容赋值给它的Subscription属性即可。C#中可以用逐字字符串处理XML的双引号转义问题,记得将XML中的WIFINAME替换为你要监听的目标WIFI SSID。

修改后的对应代码片段如下:

IEventTrigger con1 = (IEventTrigger)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_EVENT);
// 赋值事件查询XML,替换为你实际要监听的WIFI名称
con1.Subscription = @"<QueryList>
  <Query Id=""0"" Path=""Microsoft-Windows-WLAN-AutoConfig/Operational"">
    <Select Path=""Microsoft-Windows-WLAN-AutoConfig/Operational"">*[System[Provider[@Name='Microsoft-Windows-WLAN-AutoConfig'] and (EventID=8001)]][EventData[Data[@Name='SSID']='你要监听的WIFI_SSID']]</Select>
  </Query>
</QueryList>";

可选优化:可以为触发器增加3秒延迟,避免WIFI刚连接时网络未初始化完成导致登录失败,代码如下:

con1.Delay = "PT3S";

注意事项

  • 请提前确认Windows系统的Microsoft-Windows-WLAN-AutoConfig/Operational日志处于开启状态,否则不会产生8001连接事件,导致触发器无法触发
  • 你原有代码中配置的最高运行权限TASK_RUNLEVEL_HIGHEST是必要配置,否则任务可能没有权限读取系统事件日志
  • 若需要调试查询规则是否正确,可以先打开Windows事件查看器,在「自定义视图」中新建视图,粘贴上述XML查询验证是否能筛选到对应的WIFI连接事件,排除XML语法错误问题

内容的提问来源于stack exchange,提问作者IShirai_KurokoI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:45:04