VBA解決Windows空當(dāng)接龍的617局
Windows的自帶游戲空當(dāng)接龍,其中第617局是比較難解的,需要嘗試的次數(shù)比較多,而且經(jīng)常忘記解法和步驟。
原本希望使用AutoIt或AutoHotkey、AAuto一類的工具,寫一段自動(dòng)化腳本快速解決這一局,但這些工具需要安裝,而且容易被當(dāng)做病毒。通過(guò)Office中的VBA調(diào)用Windows的API,對(duì)游戲窗口發(fā)送按鍵消息,可以快速演示解法。
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", "空當(dāng)接龍游戲 #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
相關(guān)文章
關(guān)于vba代碼運(yùn)行時(shí)錯(cuò)誤1004?應(yīng)用程序定義或?qū)ο蠖x錯(cuò)誤問(wèn)題
這篇文章主要介紹了vba代碼運(yùn)行時(shí)錯(cuò)誤1004?應(yīng)用程序定義或?qū)ο蠖x錯(cuò)誤,經(jīng)過(guò)一系列問(wèn)題調(diào)查發(fā)現(xiàn)是工作表中數(shù)據(jù)存在異常,需要的朋友可以參考下2022-10-10向數(shù)據(jù)報(bào)表添加一個(gè)合計(jì)字段
在數(shù)據(jù)環(huán)境設(shè)計(jì)器中也可以創(chuàng)建一個(gè)合計(jì)字段,即對(duì)來(lái)自部分的數(shù)據(jù)進(jìn)行合計(jì)的字段。2009-07-07用vba實(shí)現(xiàn)將記錄集輸出到Excel模板
用vba實(shí)現(xiàn)將記錄集輸出到Excel模板...2007-02-02當(dāng)編輯框內(nèi)容改變 對(duì)應(yīng)的單元格也隨著改變vba代碼
當(dāng)編輯框內(nèi)容改變 對(duì)應(yīng)的單元格也隨著改變vba代碼2009-07-07Excel?VBA指定條件刪除整行整列的實(shí)現(xiàn)
本文主要介紹了Excel?VBA指定條件刪除整行整列的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Excel·VBA合并工作簿的實(shí)現(xiàn)示例
本文主要介紹了Excel·VBA合并工作簿的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01