VBA解决Windows空当接龙的617局

   2015-09-24 0
核心提示:本文给大家分享的是使用VBA解决Windows空当接龙的617局的方法和思路,有需要的小伙伴可以参考下。

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 空当接龙
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 二进制文件存取示例(VB&VBA) 二进制数据文件
    ' 1. 保存文件到数据库Sub s_SaveFile()    Dim iStm As ADODB.Stream    Dim iRe As ADODB.Recordset    Dim iConcStr As String 'SQL数据库的连接字符串    iConcStr = "Provider=SQLOLEDB.1;Persist Security Info=True;"_        "Us
    02-09
  • VB类模块中属性的参数——VBA中Range对象的Value属性和Value2属性的一点区别
    VB类模块中属性的参数——VBA中Range对象的Valu
    在VB中,属性是可以有参数的,而VBA中属性使用参数非常常见。比如最常用的:Worksheet.Range("A1:A10") VB的语法,使用参数的不一定是方法,也有可能是属性!(虽然属性的本质是方法)例一:参数当作“索引”使用定义一个类模块,模块名称Ints。为简化模型,使
    02-09
  • VBA是什么?和VB有什么关系 vba和vbe
    VBA是什么---------------------------------------  直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微
    02-09
  • Lotus Notes Send EMail from VB or VBA
    Original doc link:http://www.fabalou.com/VBandVBA/lotusnotesmail.asp你知道吗?VBA或者VB可以直接编程从发送邮件到Notes系统中,当然前提条件是在运行代码的这台机器上必须安装Notes 客户端并且完成配置.要指出的一个问题那就是所有 Lotus Notes 对象声明
    02-09
  • VBA/VB6/VBS/VB.NET/C#/Python/PowerShell都能调用的API封装库
    VBA/VB6/VBS/VB.NET/C#/Python/PowerShell都能
     API函数很强大,但是声明的时候比较繁琐。我开发的封装库,包括窗口、键盘、鼠标、消息等常用功能。用户不需要添加API函数的声明,就可以用到API的功能。在VBA、VB6的引用对话框中引用API.tlb文件,就可以用到其中的函数和方法,在VB.Net或C#项目中引用API.
    02-08
  • Inspect(VB6、VBA版)软件的下载和使用
    Inspect(VB6、VBA版)软件的下载和使用
    Inspect是进行UI Automation自动化编程的必备工具。下载地址:https://share.weiyun.com/R3QI4yfl进入该目录后,找到Inspect_VBAVB6.zip,下载到本地。   解压缩后,双击Inspect.exe启动工具。如果没有正常启动,请以管理员身份运行Regdll.exe。  左边的
    02-08
  • VBA将excel数据表生成JSON文件
    本文给大家汇总介绍了几种使用VBA处理EXCEL并生成JSON文件的方法和思路,非常的实用,有需要的小伙伴可以参考下。
    09-24 excelvbajson
  • VBA编程基础
    好多朋友想学习vba但相关资料不是很多,其实就是利用了vb的语法,结合office
    06-26 VBA编程
点击排行