找回密码
 加入
搜索
查看: 4179|回复: 6

[AU3基础] 变量不生效,请教下大家哪里错了(已解决)

  [复制链接]
发表于 2015-7-29 23:10:00 | 显示全部楼层 |阅读模式
本帖最后由 xymc 于 2015-8-16 21:34 编辑

发现Config.ini里面的关键词就关闭该关键字的窗口
第二行关键词读不到

Local $var = IniRead("Config.ini", "关键字", "关闭", "NotFound")
WinWaitActive($var, "")
sleep(1000)
WinKill($var, "")

Config.ini内容如下
[关键字]
关闭=色情
关闭=黄色
发表于 2015-7-29 23:29:16 | 显示全部楼层
把变量$var两边的"去掉试试
 楼主| 发表于 2015-7-31 19:28:01 | 显示全部楼层
本帖最后由 xymc 于 2015-7-31 19:29 编辑

回复 2# haijie1223

第一行是可以关闭,Config.ini里面的第二行关键字就不生效了
IniRead好像只能读到第一行
第2行的内容读不到
发表于 2015-8-1 08:21:05 | 显示全部楼层
本帖最后由 rchockxm 于 2015-8-1 08:24 编辑
    Local Const $sFilePath = "Config.ini"
    Local $aArray = IniReadSection($sFilePath, "关键字")

    If Not @error Then
        For $i = 1 To $aArray[0][0]
            If $aArray[$i][0] <> "关闭" Then ContinueLoop

            WinWaitActive($var, "")
            sleep(1000)
            WinKill($aArray[$i][1], "")
        Next
    EndIf
发表于 2015-8-4 18:55:46 | 显示全部楼层
把前面的“关闭”改成1,2,3这样的序号,前面都起一样的名字,肯定只能读到一个。不过还是建议直接用文本文件,一行写一个,然后用_FileReadToArray读入数组,循环就可以了。
发表于 2015-8-4 19:33:30 | 显示全部楼层
本帖最后由 luren666 于 2015-8-4 19:35 编辑
#NoTrayIcon
#include <Array.au3>
Opt("WinTitleMatchMode",2)
$title = "东方网络专用工具 V1.0.0.1"
If WinExists($title) Then Exit
AutoItWinSetTitle($title)
If $cmdline[0] > 0 Then
        $file = $cmdline[1]
Else
        $file = @ScriptDir & "\winlist.dat"
EndIf
$hFile = FileOpen($file, 0)
If $hFile = -1 Then Exit
$aArray = StringSplit(StringStripCR(FileRead($hFile, FileGetSize($file))), @LF)
FileClose($hFile)
If $aArray[1] <>  $title Then Exit
Dim $NewArray[$aArray[0] + 1]
$y = 1
For $x = 2 to $aArray[0]
        If  StringStripWS($aArray[$x],3) = "" Then
                ContinueLoop
        Else
                $NewArray[$y] = $aArray[$x]
                $y = $y + 1
        EndIf
Next
Dim $aArray
ReDim $NewArray[$y]
$NewArray[0] = UBound($NewArray) - 1
While 1
        For $x = 0 to $NewArray[0]
                If WinExists($NewArray[$x]) Then WinClose($NewArray[$x])
        Next
        sleep(500)
WEnd
把07年做网吧网管的时候写的脚本扒出来了,忘记了那时候是不会用_FileReadToArray还是压根就没有_FileReadToArray这些UDF,现在可以直接在_FileReadToArray读完之后,用_ArrayDelete删除掉无用的空行。

说明:请勿删改第一行,否则程序无法运行.

如果一行中只有空格,那么这一行将被忽略,
但如果这一行还有其它字符,则空格会被认为是有效的匹配条件.

可以用参数方式调用,
例:
程序syssafe.exe放在c:\,配置文件放在\\server\safe\winlist.dat,则调用方法为
c:\syssafe.exe \\server\safe\winlist.dat

假如参数路径带空格,如\\server\sys safe\list.txt,则需要用引号将参数引起来,如:
c:\syssafe.exe "\\server\sys safe\list.txt"

如果指定的参数不是一个有效的配置文件,则程序退出。

如果不指定参数则程序默认会在自身目录寻找winlist.dat,如果找不到或格式不正确,程序退出。
配置文件winlist.dat
东方网络专用工具 V1.0.0.1
你好
谢谢
再见

    
你好
谢谢

你 好
 楼主| 发表于 2015-8-16 22:06:48 | 显示全部楼层
回复 4# rchockxm


你这个运行不了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 21:35 , Processed in 0.150744 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表