2 a552298242 a552298242 于 2016.01.31 21:23 提问

请问下vb.net中有关mouse_event的问题?

如题,我想用vb.net实现模拟滚轮移动的功能。一开始就是打算用mouse_event中的
MOUSEEVENTF_WHEEL,但是最后没有成功,请问下
上网查了些资料。有的地方说MOUSEEVENTF_WHEEL是模拟滚轮移动的
有的地方说是模拟滚轮按下并抬起,请问到时哪一个是对的,我在MSDN上看的有关
MOUSEEVENTF_WHEEL的介绍是The user pressed and released the mouse wheel.
应该是按下并抬起,但是dwData得介绍看起来像是模拟移动的,请问那个是对的呢
我的有关代码如下,移动到指定位置是没问题的,但是模拟滚动却没反应

         mouse_event(MOUSEEVENTF_ABSOLUTE, 0, 0, 0, 0) '使用绝对坐标系
        'mouse_event(MOUSEEVENTF_MOVE, 600, 150, 0, 0) '移动到指定位置
        mouse_event(MOUSEEVENTF_WHEEL, 0, 0, -100, 0) '滚动到指定位置
        MessageBox.Show("OK")

4个回答

caozhy
caozhy   Ds   Rxr 2016.01.31 21:26
已采纳

一些鼠标没有滚轮有3个按键,对于这种鼠标,按下中间的按键,然后移动,来实现滚动,触发的消息和带有滚轮的鼠标直接滚动是一样的。
所以两种说法其实都是对的。

caozhy
caozhy   Ds   Rxr 2016.01.31 21:28

dwData表明滚动的距离。不知道你说的没有反应什么意思。

a552298242
a552298242   2016.02.01 20:23

我的意思是,使用MOUSEEVENTF_MOVE时,鼠标位置的确是移动了,这说明整个代码是没问题的,但是我使用MOUSEEVENTF_WHEEL后,却没有滚动到指定位置。正常情况下使用滚轮浏览器界面会上下滚动,但是使用wheel却不会滚动

a552298242
a552298242   2016.02.01 20:28

刚才又试了一下,如果取消绝对坐标系就可以,不知道是为什么

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
VB 模拟鼠标点击 Mouse_Event
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)Const MOUSEEVENTF_LEFTDOWN = &H2Const MOUSE
请问下面的程序一共输出多少个“-”?
题目:int main(void) {     int i;     for (i = 0; i < 2; i++) {          fork();          printf("-");      }      return 0;  }  A、2 B、4 C、6 D、8 答案:D 解析: fork函数是计算机程序设计中的分叉函数。返回值: 若成功调用一次则返回两个值,
C# API Keybd_event + mouse_event 利用API程序控制按下某键
首先引入名称空间System.Runtime.InteropServices用来导入Windows DLL.下面是实现代码:[DllImport("user32.dll", EntryPoint = "mouse_event")]        public static extern void mouse_event(            int dwFlags,           
关于fork和缓冲区的问题
题目:请问下面的程序一共输出多少个“-”? #include #include #include int main(void) { int i; for(i=0; i<2; i++){ fork(); printf("-");
VB.Net远程控制编程实例[鼠标钩子、 键盘钩子]
功能描述:模拟鼠标事件的函数模型  设置光标到指定位置的函数模型 模拟键盘事件的函数模型命名空间:Lob.API转化后代码如下:    Imports System    Imports System.Runtime.InteropServices        Namespace Lob.API    Public Class Api                    
SendInput和mouse_event模拟鼠标点击事件问题解决
最近在做有关kinect控制鼠标事件时遇到了一个小问题,这里写点记录。 首先我简单介绍一下关于SendInput和mouse_event函数模拟鼠标事件的方法。 这两个函数是C++里使用的,先给个SendInput函数的原型,参照MSDN UINT SendInput( UINT nInputs, // count of input events LPINPUT pInp
mouse_event()函数控制鼠标操作
在自动化测试的开发中,有一些控件的ID是很难找到的,所以有些时候,我们直接设置鼠标的位置,然后是用click事件,会收到很好的效果。在Windows API中有个mouse_event函数为我们准备好了这一切。 这个函数在user32.dll这个库文件里面。我们可以在C:/WINDOWS/system32(XP系统)这个目录下找到这个文件,他是系统自带的。 我们以C#直接调用这个文件中的AP
mouse_event实现鼠标事件
右击固定位置 获取控件位置 GetDlgItem(IDC_SHOW_RESULT)->GetWindowRect(&rt); int dx = (rt.left+20); int dy = (rt.top+20);dx = 10 * 65535 / Screen.PrimaryScreen.Bounds.Width; dy = 10 * 65535 / Screen.PrimaryScree
mouse_event() 函数综合鼠标击键和鼠标动作
mouse_event() 函数综合鼠标击键和鼠标动作
Adobe(R) Flash(R) Player 安装失败.有关故障排除的提示,请访问 httpwww.adobe.comgotn_19166_cn
<br />Adobe(R) Flash(R) Player 安装失败.有关故障排除的提示,请访问 httpwww.adobe.comgotn_19166_cn.<br />1.下载微软subinacl.msi <br />http://download.microsoft.com/download/1/7/d/17d82b72-bc6a-4dc8-bfaa-98b37b22b367/subinacl.msi<br />安装 <br />2.下载reset_minimal <br />http://www.