VB后台按键我的代码有什么毛病为什么游戏无动于衷

来源:百度知道 编辑:UC知道 时间:2024/06/30 10:41:54
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (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 GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long

Private Sub Form_Load()

End Sub

Private Sub Timer1_Timer()
Dim hwnd As Long ' 储存 FindWindow 函数返回的句柄
hwnd = FindWindow(vbNullString, "YB_OnlineClient") ' 取得进程标识符
If hwnd = 0 Then
Label1.Caption = "未运行"

Else
Label1.Caption = "已运行"
Text1.Text = hwnd
PostMessage hwnd, WM_KEYDOWN, VK_F1, 0& '按下F1键
PostMessage hwnd, WM_UP, VK_F1, 0& '释放F1键
End If
End Sub
问题补充:VB,后台按键还是不行啊,,

你需要的功能比较简单,干吗不用
SendKeys vbKeyF1
SendKeys vbKeyF2

代码只需要这几句就可以了
Private Sub Timer1_Timer()
Label1.Caption = "已运行"
SendKeys vbKeyF1
End Sub

SendKeys vbKeyF1改为SendKeys vbKeyF2就变成F2