游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1007|回复: 0

求助!!!!!!!!!!!!!!!!!!!!!

[复制链接]

7

主题

23

帖子

25

积分

注册会员

Rank: 2

积分
25
QQ
发表于 2006-4-1 15:53:00 | 显示全部楼层 |阅读模式
Option Explicit
Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Declare Function PostMessage Lib "user32" Alias &quotostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long


''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Command1_Click()
    Dim jsb As Long
    jsb = FindWindow("red stone- the lunatic story", vbNullString)'可以把vbnullstring改为你需要的
    Dim mhwnd As Long
    mhwnd = FindWindowEx(jsb, 0, "edit", vbNullString)
    Dim lParam As Long
    lParam = makelparam(vbKey5, False)
    PostMessage mhwnd, WM_KEYDOWN, vbKey5, lParam
    lParam = makelparam(vbKey5, True)
    PostMessage mhwnd, WM_KEYUP, vbKey5, lParam
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'请高手帮我看下上面的按键,这段代码的有什么地方不对
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Function makelparam(ByVal VirtualKey As Long, ByVal flag As Boolean) As Long
    Dim s As String
    Dim Firstbyte As String 'lparam参数的24-31位
    If flag = False Then 'keydown
        Firstbyte = "00"
    Else
        Firstbyte = "C0" 'keyup
    End If
    Dim Scancode As Long
    '获得虚拟键扫描码
    Scancode = MapVirtualKey(VirtualKey, 0)
    Dim Secondbyte As String 'lparam参数的16-23位,即虚拟键扫描码
    Secondbyte = Right("00" & Hex(Scancode), 2)
    s = Firstbyte & Secondbyte & "0001" '0001为lparam参数的0-15位,即发送次数
    makelparam = Val("&H" & s)
End Function

最好看看整段的代码有有什么地方不对  这个用到记事本个好使 在游戏里就不好使


请教高手!!!!!!!!!!!!!!!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 02:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表