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
您可能感兴趣的文章:
- VBA 编程基础
- excel vba 高亮显示当前行代码
- VBA 浏览文件夹对话框调用的几种方法
- Excel VBA连接并操作Oracle
- vba 获取PPT幻灯片中的所有标题的代码
- VBA中连接SQLSERVER数据库例子