VBA解决Windows空当接龙的617局_VBA教程-查字典教程网
VBA解决Windows空当接龙的617局
VBA解决Windows空当接龙的617局
发布时间:2016-12-28 来源:查字典编辑
摘要:Windows的自带游戏空当接龙,其中第617局是比较难解的,需要尝试的次数比较多,而且经常忘记解法和步骤。原本希望使用AutoIt或Aut...

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学习
    热门VBA学习
    脚本专栏子分类