shweii 发表于 2010-10-30 15:22:35

关于声明

本帖最后由 shweii 于 2010-10-30 15:27 编辑

Dim        $1='"收银台",""'
                MsgBox(0, "", $1)
        If WinExists($1) Then
WinActivate ($1)
        EndIf上面的代码MSGBOX能显示出正确的$1内容为"收银台",""
IF里的却不能识别到$1呢,脚本不能正常
向下面这样改成文本,脚本又正常,请问下是错在哪里?Dim        $1='"收银台",""'
                MsgBox(0, "", $1)
        If WinExists("收银台","") Then
WinActivate ("收银台","")
        EndIf

afan 发表于 2010-10-30 18:55:16

你那样代入WinExists相当于 WinExists('"收银台",""') 整体作为了一个参数,而非 WinExists("收银台","") 函数里的参数是不能这样写的

h20040606 发表于 2010-10-30 19:29:16

你没有理解函数参数的含义

_ddqs. 发表于 2010-10-30 20:26:11

本帖最后由 _ddqs. 于 2010-10-30 20:31 编辑

再加个参数
If WinExists($1,"") Then
或找个字串函数重处理下试试
If WinExists( StringStripCR ($1),"" ) Then

lchl0588 发表于 2010-10-31 13:38:57

本帖最后由 lchl0588 于 2010-10-31 13:49 编辑

两者的区别貌似是第一个先打开软件,再运行代码;第二个不用了!
还有窗口名的问题!

偶没有那个软件,只能用TXT来代替:Dim $1='收银台,11111'
ShellExecute(@ScriptDir &"\收银台,11111.txt")
MsgBox(0, "", $1,2)
If WinExists($1) Then
WinActivate ($1)
MsgBox(0,0,"成功")
Else
        MsgBox(0,1,"失败")
EndIf

xyyie 发表于 2010-11-1 13:29:47

哈哈。这防止再开窗口吧。

G,man。 发表于 2010-11-1 14:12:09

来学习一下。
页: [1]
查看完整版本: 关于声明