VBA解决Windows空当接龙的617局

所属分类: 脚本专栏 / VBA 阅读数: 870
收藏 0 赞 0 分享

Windows的自带游戏空当接龙,其中第617局是比较难解的,需要尝试的次数比较多,而且经常忘记解法和步骤。

原本希望使用AutoIt或AutoHotkey、AAuto一类的工具,写一段自动化脚本快速解决这一局,但这些工具需要安装,而且容易被当做病毒。通过Office中的VBA调用Windows的API,对游戏窗口发送按键消息,可以快速演示解法。

Declare Function FindWindow Lib "user32" Alias _
  "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
   
Declare Function SendMessage Lib "user32" Alias _
  "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
 
Const WM_CHAR = &H102
 
Sub f()
s = "83 80 83 81 80 " & _
  "20 27 72 " & _
  "48 46 41 48 42 " & _
  "89 48 70 74 78 07 40 27 " & _
  "10 14 004 10 01 16 19 " & _
  "20 002 42 21 20 " & _
  "32 34 24 32 42 34 30 38 " & _
  "58 53 63 57 56 50 " & _
  "10 10 13 15 35 13 12 18"
 
h = FindWindow("FreeWClass", "空当接龙游戏 #617")
For i = 1 To Len(s)
  c = Mid(s, i, 1)
  m = 0.1
  If c >= "0" And c <= "9" Then
    a = SendMessage(h, WM_CHAR, Asc(c), 0)
  Else
    m = 0.3
  End If
  m = m + Timer: Do While Timer < m: DoEvents: Loop
Next
End Sub

更多精彩内容其他人还在看

excel vba 限制工作表的滚动区域代码

如果希望限制工作表中滚动的区域,可以通过设置WorkSheet对象的ScrollArea属性来实现。
收藏 0 赞 0 分享

excel vba 高亮显示当前行代码

用条件格式设置高亮显示当前行,难的是如何确定当前行。用VBA就很简单,鼠标右击工作表标签,选择“查看代码”,将下面的代码粘贴到VBE窗口中
收藏 0 赞 0 分享

当编辑框内容改变 对应的单元格也随着改变vba代码

当编辑框内容改变 对应的单元格也随着改变vba代码
收藏 0 赞 0 分享

VBA 浏览文件夹对话框调用的几种方法

VBA 浏览文件夹对话框调用实现代码。大家可以根据需要选择。
收藏 0 赞 0 分享

向数据报表添加一个合计字段

在数据环境设计器中也可以创建一个合计字段,即对来自部分的数据进行合计的字段。
收藏 0 赞 0 分享

UserAccessList 集合的功能(VBA)

可用 ProtectedRange 对象的 Users 属性返回一个 UserAccessList 集合。
收藏 0 赞 0 分享

VBA UsedObjects 集合用法

可用 Application 对象的 UsedObjects 属性返回一个 UsedObjects 对象。
收藏 0 赞 0 分享

vba 获取PPT幻灯片中的所有标题的代码

有时候需要获取PPT幻灯片中的所有标题,如果手工的复制肯定很慢,那么可以用vba批量获取,提高工作效率。
收藏 0 赞 0 分享

VBA解决Windows空当接龙的617局

本文给大家分享的是使用VBA解决Windows空当接龙的617局的方法和思路,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

VBA将excel数据表生成JSON文件

本文给大家汇总介绍了几种使用VBA处理EXCEL并生成JSON文件的方法和思路,非常的实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享
查看更多