ywc195 发表于 2012-8-3 16:13:12

根据配置文件判断时间来重起电脑[已解决]

本帖最后由 ywc195 于 2012-8-4 00:55 编辑

$Mins=IniRead(@ScriptDir & "\配置.ini","重起时间","分钟","")
While 1
        $timer = _WinAPI_GetTickCount()
        Local $Hour, $Mins, $Secs
        _TicksToTime($timer, $Hour, $Mins, $Secs)
        If $Mins >= "" Then Shutdown(6)
        Sleep(5000)
WEnd


直接If $Mins >= 5    就可以判断5分钟重起
但是改成配置文件就立即重起了

xms77 发表于 2012-8-3 16:43:21

Local $Hour, $Mins, $Secs

$Mins=IniRead(@ScriptDir & "\配置.ini","重起时间","分钟","")
While 1
      $timer = _WinAPI_GetTickCount()
         _TicksToTime($timer, $Hour, $Mins, $Secs)
      If $Mins >= "" Then Shutdown(6)
      Sleep(5000)
WEnd

xiehuahere 发表于 2012-8-3 17:02:49

回复 1# ywc195


    If $Mins >= "" ,为什么跟空字符串比较?
   字符串比较要用 StringCompare 啊,不过建议是用 Number($Mins) 转成数值来比较。
   
   If Number($Mins) >= 5 ThenShutdown(6)

ywc195 发表于 2012-8-3 17:29:16

本帖最后由 ywc195 于 2012-8-3 17:32 编辑

感谢楼上两位 不过问题没解决,我现在的问题是
If $Mins >= 这里直接设置成数字 例:If $Mins >= 5那脚本就可以判断在 5分钟的时间执行重起命令

但是我现在想把这个5分钟改成读配置文件
2楼的大大 加了全局变量还是不行的,运行后直接做了重起动作 没有根据配置文件来判断

ywc195 发表于 2012-8-3 17:33:54

回复ywc195


    If $Mins >= "" ,为什么跟空字符串比较?
   字符串比较要用 StringCompare 啊, ...
xiehuahere 发表于 2012-8-3 17:02 http://www.autoitx.com/images/common/back.gif


    现在就是想把读 5这个值改成由配置文件来控制

user3000 发表于 2012-8-3 22:16:52

回复 5# ywc195


    #include <WinAPIEx.au3>
#Include <Date.au3>

Local $Hour, $Mins, $Secs
$m = IniRead(@ScriptDir & "\配置.ini", "重起时间", "分钟", 5)
While 1
        $timer = _WinAPI_GetTickCount()
        If $timer Then
                _TicksToTime($timer, $Hour, $Mins, $Secs)
                If $Mins >= $m Then ExitLoop;Shutdown(6)
        EndIf
        Sleep(5000)
WEnd
MsgBox (0, '', 'done!')

把标题改回来吧, 现在这标题可不行, 不合版规!
给出代码, 也应该是能直接运行的代码才好!

mindy_xie 发表于 2013-3-19 22:17:43

不错,学习了

wql8549 发表于 2013-3-20 13:48:14

不错,解决我的问题
页: [1]
查看完整版本: 根据配置文件判断时间来重起电脑[已解决]