求帮忙用VB编一个鼠标键盘连点的小程序!~

求帮忙用VB编一个鼠标键盘连点的小程序!~,第1张

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)'声名API

'定义变量: 

Const MOUSEEVENTF_LEFTDOWN = &H2 

Const MOUSEEVENTF_LEFTUP = &H4 

Const MOUSEEVENTF_MIDDLEDOWN = &H20 

Const MOUSEEVENTF_MIDDLEUP = &H40 

Const MOUSEEVENTF_MOVE = &H1 

Const MOUSEEVENTF_ABSOLUTE = &H8000 

Const MOUSEEVENTF_RIGHTDOWN = &H8 

Const MOUSEEVENTF_RIGHTUP = &H10 

Private Sub Command1_Click()

mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0   '鼠标左键单击事件

End Sub

Private Sub Command2_Click()

mouse_event MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 '鼠标右键单击事件 

End Sub

Private Sub Command3_Click()

mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 

mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

'-------------------------------------'两次连续的鼠标左键单击事件 构成一次鼠标双击事件 

End Sub

'================================前台模拟================================

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 Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)  As Long'-Post后台消息

Private Const BM_CLICK = &HF5             '定义单击常量

Private Sub Form_Load()

Shell "calcexe"                          '打开机算器

End Sub

Private Sub Command1_Click()

Dim a As Long

Dim b As Long

a = FindWindow(vbNullString, "计算器")    '查找父句柄

b = FindWindowEx(a, 0, vbNullString, "1") '查找子句柄,也就是按扭1这个句柄

PostMessage b, BM_CLICK, 0, 0             '单击按钮

End Sub

'================================后台模拟================================

'以下是键盘模拟

Declare Function SendInput Lib "user32dll" (ByVal nInputs As Long, pInputs As GENERALINPUT, ByVal cbSize As Long) As Long

Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Type GENERALINPUT

      dwType As Long

      xi(0 To 23) As Byte

End Type

Type KEYBDINPUT

     wVk As Integer

     wScan As Integer

     dwFlags As Long

     time As Long

     dwExtraInfo As Long

End Type

Const INPUT_KEYBOARD = 1

Sub MySendKey(bkey As Long)

'参数bkey传入要模拟按键的虚拟码即可模拟按下指定键

Dim GInput(0 To 1) As GENERALINPUT

Dim KInput As KEYBDINPUT

KInputwVk = bkey     '你要模拟的按键

KInputdwFlags = 0 '按下键标志

GInput(0)dwType = INPUT_KEYBOARD

CopyMemory GInput(0)xi(0), KInput, Len(KInput) '这个函数用来把内存中KInput的数据复制到GInput

KInputwVk = bkey

KInputdwFlags = KEYEVENTF_KEYUP     ' 释放按键

GInput(1)dwType = INPUT_KEYBOARD ' 表示该消息为键盘消息

CopyMemory GInput(1)xi(0), KInput, Len(KInput)

'以上工作把按下键和释放键共2条键盘消息加入到GInput数据结构中

SendInput 2, GInput(0), Len(GInput(0))       '把GInput中存放的消息插入到消息列队

End Sub

'===============================================以上在模块中==============================================================

'===============================================以下在窗体中==============================================================

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()

Text1SetFocus

'Sleep 1000

Call MySendKey(2)   '2为虚拟码

End Sub

'虚拟码:   >

1小程序打不开建议您在微信小程序面板把接龙管家移除。

移除方法:在微信首页下拉页面,在小程序页面找到“接龙管家”,长按小程序点击移除。

2在搜索框搜索“接龙管家”小程序,点击进入即可自动重新添加。

qq小程序打不开怎么办,qq小程序打不开可能是小程序自身问题,可以退出去,重新打开小程序, *** 作方法:1、点击页面的三角按钮关闭小程序。2、在qq主界面向下滑动界面。3、在搜索框输入小程序后按键盘上的回车,然后点击对应的小程序即可。

1、将scroll-view的scroll-y属性设置为false,这样可以禁用scroll-view的纵向滑动功能,避免滑动条出现。

2、在input组件绑定focus和blur事件,当input组件被聚焦时,将scroll-view组件滚动到输入框所在的位置,当input组件失去聚焦时,将scroll-top值设置为0,这样可以让页面回到最顶部。

这可能是由于小程序的布局问题导致的。建议您尝试更新小程序版本或者清理手机缓存,同时也可以联系小程序开发者反馈此问题,寻求解决方案。另外,您也可以尝试调整手机的屏幕分辨率、字体大小等设置,以便更好地显示页面内容。

import javaawteventKeyEvent;

import javaawteventKeyListener;

import javaxswingJFrame;

import javaxswingJLabel;

public class Test extends JFrame implements KeyListener {

private static final long serialVersionUID = 1L;

private JLabel jl = new JLabel("java程序设计");

private static final int STEP = 10;//设置移动的幅度

public static void main(String[] args) {

new Test()launchFrame();

}

public void launchFrame() {

thisadd(jl);

thisaddKeyListener(this);

thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

thissetBounds(300,200,600,400);

thissetVisible(true);

}

public void keyPressed(KeyEvent e) {//按一个键,可以连续按

key(e);

}

public void keyReleased(KeyEvent e) {//按下放开一个键

}

public void keyTyped(KeyEvent e) {//击一下键

}

public void key(KeyEvent e) {//可以将这个函数添加到上面的三个方法里

switch(egetKeyCode()) {

case KeyEventVK_LEFT ://左箭头

jlsetLocation(jlgetLocation()x - STEP, jlgetLocation()y);

break;

case KeyEventVK_RIGHT ://右箭头

jlsetLocation(jlgetLocation()x + STEP, jlgetLocation()y);

break;

case KeyEventVK_UP ://上箭头

jlsetLocation(jlgetLocation()x, jlgetLocation()y - STEP);

break;

case KeyEventVK_DOWN ://下箭头

jlsetLocation(jlgetLocation()x, jlgetLocation()y + STEP);

break;

}

}

}

另外提醒一下楼上的,应该给JFrame添加KeyListener

以上就是关于求帮忙用VB编一个鼠标键盘连点的小程序!~全部的内容,包括:求帮忙用VB编一个鼠标键盘连点的小程序!~、汇编:模拟键盘按键的小程序,有点问题、qq小程序打不开怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10120487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存