示例(自动切换显示器关闭时间)

我有一个习惯,电脑从来不关机,设置为2小时后使计算机进入睡眠状态,这样我晚上就可以躺床上用手机连接电脑看一会儿电影,然后睡觉,然后电脑自动进入睡眠状态。

晚上盖子不关,拔掉鼠标。第二天可以选择盖上盖子装进背包,或者直接插上鼠标开工。

这样有一点不够智能,就是显示器屏幕关闭时间:晚上要手动修改为1分钟无动作关闭显示器(都上床了电脑显示器亮着很浪费嘛),早上要修改为45分钟无动作关闭显示器(工作的时候就不用着急关闭显示器了)。

虽然可以使用命令切换显示器关闭时间,但每天做很烦。可以写一个项目,在projects目录下创建一个任意文件名.xml,输入以下代码:

<?xml version="1.0" encoding="utf-8"?>
<setting>
  <monitors>
    <monitor type="DEVICE_POINTING">
      <interval>60</interval>
    </monitor>
  </monitors>
  <profiles>
    <profile global="DEVICE_POINTING">
      <enabled>True</enabled>
      <name>自动切换显示器关闭时间</name>
      <op><![CDATA[ALL]]></op>
      <value>
      </value>
      <task>切换显示器关闭时间</task>
    </profile>
  </profiles>
  <tasks>
    <task>
      <name>切换显示器关闭时间</name>
      <actions>
        <action type="FLOW" op="IF">
          <args>
            <arg>DEVICE_POINTING</arg>
            <arg><![CDATA[>]]></arg>
            <arg>0</arg>
            <arg>2</arg>
          </args>
        </action>
        <action type="CMD" op="LOAD">
          <args>
            <arg>powercfg</arg>
            <arg>powercfg -x -monitor-timeout-ac 45</arg>
          </args>
        </action>
        <action type="THIS" op="SHOW">
          <args>
            <arg>TIP</arg>
            <arg>电源计划</arg>
            <arg>45分钟无操作则关闭显示器</arg>
          </args>
        </action>
        <action type="FLOW" op="IF">
          <args>
            <arg>DEVICE_POINTING</arg>
            <arg><![CDATA[<]]></arg>
            <arg>1</arg>
            <arg>2</arg>
          </args>
        </action>
        <action type="CMD" op="LOAD">
          <args>
            <arg>powercfg</arg>
            <arg>powercfg -x -monitor-timeout-ac 1</arg>
          </args>
        </action>
        <action type="THIS" op="SHOW">
          <args>
            <arg>TIP</arg>
            <arg>电源计划</arg>
            <arg>1分钟无操作则关闭显示器</arg>
          </args>
        </action>
      </actions>
    </task>
  </tasks>
</setting>

以utf-8编码保存,重启itask,大功告成。

该项目首先定义了【DEVICE_POINTING】监视器,检查间隔时间为60秒。然后定义了一个名为【自动切换显示器关闭时间】的配置,监控【DEVICE_POINTING】全局变量,获取外接指针设备的数量,当外接指针设备数量发生变化时,触发名为【切换显示器关闭时间】的任务。

名为【切换显示器关闭时间】的任务,定义了两个【IF】操作,判断外接指针设备数量(即变量【DEVICE_POINTING】的值),当数量>0,执行powercfg -x -monitor-timeout-ac 45命令,设置为45分钟关闭显示器,并显示提示信息;当数量<1,执行powercfg -x -monitor-timeout-ac 1命令,并显示提示信息。