按键精灵官方吧 关注:200贴子:633

【分享】按键精灵中的奇技淫巧代码

只看楼主收藏回复

《一、多行代码合并一行》
1、用英文冒号 “:” 把换行符替换就行
============【代码】===========
// 变量赋值
a = 1 : b = 2 : c = 3
// For循环
For i = 0 To 10 : TracePrint i : Next
==============================
2、If 语句可以不用 “:” 符号,也能变单行
============【代码】===========
// 注:按键精灵的代码检测有点问题,如果项目代码复杂可能会报错,实际上这样的语法是正确的
// 不带否则语句
If True Then TracePrint "条件成立!"
// 带有否则语句
If False Then TracePrint "条件成立!" Else TracePrint "条件不成立!"
// 两层If语句
If True Then If True Then TracePrint "条件成立!"
==============================


IP属地:广东来自Android客户端1楼2022-11-09 19:39回复
    《二、单行代码拆分多行》
    1、用下划线 “_” 在一行代码中的空处进行拆分
    2、注:下划线前面最好加个空格,还有下划线后面不能有任何字符(包括空格)
    ============【代码】===========
    // 拆分字符串
    字符串 = _
    " 作者:神梦无痕" & _
    " QQ:1042207232" & _
    " Q群:584781753"
    TracePrint 字符串
    // 拆分数组
    数组 = Array( _
    "a", _
    "b", _
    "c" _
    )
    // 拆分API声明
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String _
    ) As Long
    TracePrint FindWindow(vbNullString, "按键精灵")
    // 拆分If语句
    If 条件A = True _
    And 条件B = True _
    Or 条件C = False Then
    TracePrint "成功!"
    End If
    ==============================


    IP属地:广东2楼2022-11-09 19:40
    回复
      《三、表示八进制和十六进制数》
      1、用 “&O” 前缀表示八进制数,返回的是一个十进制数
      2、注:“O” 是字母,不是数字零
      ============【代码】===========
      // 可以用大写
      整数 = &O11
      TracePrint 整数
      // 可以用小写
      整数 = &o11
      TracePrint 整数
      // 在 &O100000 ~ &O177777 范围会返回负数
      // 需要在尾部加 & 符号
      负数 = &O100000
      正数 = &O100000&
      TracePrint 负数
      TracePrint 正数
      // &O 与变量结合使用
      变量 = "177777"
      整数 = CLng("&O" & 变量)
      TracePrint 整数
      // 十进制转八进制
      八进制 = Oct(1024)
      TracePrint 八进制
      ==============================
      3、用 “&H” 前缀表示十六进制数,返回的是一个整数
      4、注:十六进制只能用 0~9、A~F 表示
      ============【代码】===========
      // 可以用大写
      粉色 = &HFF00FF
      TracePrint 粉色
      // 可以用小写
      绿色 = &hff00ff
      TracePrint 绿色
      // 在 &H8000 ~ &HFFFF 范围会返回负数
      // 需要在尾部加 & 符号
      负数 = &H8000
      正数 = &H8000&
      TracePrint 负数
      TracePrint 正数
      // &H 与变量结合使用
      变量 = "800080"
      紫色 = CLng("&H" & 变量)
      TracePrint 紫色
      ==============================


      IP属地:广东3楼2022-11-09 19:40
      回复
        《四、直接表示日期时间的符号》
        1、用 “#” 来表示日期时间类型
        ============【代码】===========
        // 日期用斜杠分割
        日期时间 = #2022/11/06 22:04:00#
        TracePrint TypeName(日期时间)
        // 日期用横杠分割
        日期时间 = #2022-11-06 22:04:00#
        TracePrint TypeName(日期时间)
        // 只显示日期
        日期时间 = #2022-11-06#
        TracePrint TypeName(日期时间)
        // 只显示时间
        日期时间 = #22:04:00#
        TracePrint TypeName(日期时间)
        // 判断日期时间
        If Now() > #2022-11-06 22:04:00# Then
        TracePrint "时间过期了!"
        End If
        // 只判断时间
        If #06:00:00# <= Time() And Time() < #12:00:00# Then
        TracePrint "上午"
        ElseIf #12:00:00# <= Time() And Time() < #18:00:00# Then
        TracePrint "下午"
        Else
        TracePrint "晚上"
        End If
        ==============================


        IP属地:广东4楼2022-11-09 19:40
        回复
          《五、中括号的特殊用法》
          1、在 “VBSBegin ... VBSEnd” 块中无法使用中文作为变量
          2、需要用中括号 “[]” 进行包裹,否则报错
          ============【代码】===========
          // 包裹中文变量
          VBSBegin
          [中文变量] = "神梦无痕"
          TracePrint [中文变量]
          VBSEnd
          // 当对象某个属性名和按键精灵关键字冲突,
          // 也需要用中括号 `[]` 进行包裹,否则报错
          Set re = New RegExp
          re.Pattern = "\d+" '匹配所有数字
          re.[Global] = True
          Set Matches = re.Execute("QQ:1042207232;Q群:584781753")
          For Each Match in Matches ' Iterate Matches collection.
          匹配结果 = 匹配结果 & Match.Value & "|"
          Next
          TracePrint 匹配结果
          ==============================


          IP属地:广东5楼2022-11-09 19:41
          回复
            《六、字符串中的双引号》
            1、按键精灵中的字符串是用双引号括起来的
            2、如果字符串内部有双引号怎么办呢?
            ============【代码】===========
            // 直接用两个双引号转义表示
            字符串 = "{""作者"":""神梦无痕"", ""QQ"":1042207232}"
            TracePrint 字符串
            // 用 Chr(34) 表示
            引号 = Chr(34)
            字符串 = 引号 & 引号 & 引号 & "三个双引号中的内容" & 引号 & 引号 & 引号
            TracePrint 字符串
            ==============================


            IP属地:广东6楼2022-11-09 19:43
            回复
              《七、字符串中的换行符》
              1、让按键精灵中的字符串显示换行效果
              ============【代码】===========
              // 直接用 vbCrLf 表示换行符
              字符串 = _
              "第1行、作者:神梦无痕" & vbCrLf & _
              "第2行、QQ:1042207232" & vbCrLf & _
              "第3行、Q群:58478175" & vbCrLf
              MessageBox 字符串
              // 用 Chr(13) & Chr(10) 表示
              换行符 = Chr(13) & Chr(10)
              字符串 = _
              "第1行、作者:神梦无痕" & 换行符 & _
              "第2行、QQ:1042207232" & 换行符 & _
              "第3行、Q群:58478175" & 换行符
              MessageBox 字符串
              ==============================


              IP属地:广东7楼2022-11-09 19:48
              回复
                《八、Select Case 也支持条件判断》
                1、让 Case 分支用表达式判断
                ============【代码】===========
                输入 = 1
                Select Case True
                Case 输入 < 0
                TracePrint "小于零"
                Case 输入 > 0
                TracePrint "大于零"
                Case Else
                TracePrint "等于零"
                End Select
                ==============================


                IP属地:广东8楼2022-11-09 19:48
                回复
                  《按键论坛原帖》
                  http://bbs.anjian.com/showtopic-703086-1.aspx


                  IP属地:广东9楼2022-11-09 19:49
                  回复
                    哇,写得好详细,好评


                    IP属地:福建13楼2023-01-13 09:35
                    回复
                      楼主请问一下,我有很多连续的IF判断,我想让他跟for语句一样,可以通过代码首列的 + - 号,让他变成一排或回复原样,这个应该怎么弄呢。。


                      IP属地:重庆14楼2023-08-28 16:05
                      回复
                        比如我有个IF判断,下面有很多操作。我想让这个IF整个折叠掉,应该怎么处理呢。。


                        IP属地:重庆15楼2023-08-28 16:09
                        收起回复
                          1


                          IP属地:广西来自Android客户端16楼2023-08-29 22:57
                          回复
                            出门了想游戏挂机自动做任务怎么办?百度一下键鼠大师


                            IP属地:江西17楼2023-09-05 20:23
                            回复
                              1


                              IP属地:广西来自Android客户端18楼2023-09-08 03:36
                              回复