精华内容
下载资源
问答
  • VC 模拟鼠标双击全屏窗口和单击按钮事件,这是个模拟程序,通过单击来模拟双击鼠标的效果,鼠标点击“双击标题栏”按钮后,即可将本窗口全屏显示,模拟出了双击窗口标题栏的效果。另外还模拟了单击关闭按钮的功能。
  • 如何模拟鼠标双击打开系统托盘呢?可以用任何语言,任何工具,运行一个程序或一段代码实现双击指定的系统托盘。有大神有解决方案吗?
  • 在实际项目中,我们只能够模拟鼠标双击事件。其原理如下:控件接受到第一次单击事件,此时开始设置一 个计时器,在计时器的时间范围内收到第二次点击事件,那么执行双击事件应该执行的程序段。如果计时器在规定的...

      Silverlight中是没有鼠标左键双击事件的。在实际项目中,我们只能够模拟鼠标双击事件。其原理如下:控件接受到第一次单击事件,此时开始设置一 个计时器,在计时器的时间范围内收到第二次点击事件,那么执行双击事件应该执行的程序段。如果计时器在规定的时间范围内并未接收到第二次点击事件,那么执 行单击事件。

            一般情况下,windows默认的鼠标双击间隔在200毫秒以内,所以在程序中我们设置超时时间为200毫秒。

            首先我们贴出鼠标双击类的所有源代码,此代码是在网上查找到的,进行了一部分的修改。类的注释在源码中已经写明:

     

    
    
    1. using System; 
    2. using System.Threading; 
    3. using System.Windows; 
    4. using System.Windows.Input; 
    5. using System.Windows.Threading; 
    6.  
    7. namespace SLDoubleClick 
    8. public delegate void MouseLeftDoubleDownEventHandler(object sender, MouseButtonEventArgs e); 
    9.  
    10. /// <summary> 
    11. /// 定义了双击事件的类 
    12. /// </summary> 
    13. public class DoubleClick 
    14. /// <summary> 
    15. /// 双击事件定时器 
    16. /// </summary> 
    17. private DispatcherTimer doubleClickTimer; 
    18.  
    19. /// <summary> 
    20. /// 是否单击 
    21. /// </summary> 
    22. private bool isOnceClick; 
    23.  
    24. /// <summary> 
    25. /// 双击事件 
    26. /// </summary> 
    27. public MouseLeftDoubleDownEventHandler mouseLeftDoubleDown; 
    28.  
    29. /// <summary> 
    30. /// 拥有双击事件的UI 
    31. /// </summary> 
    32. private UIElement owner; 
    33.  
    34. /// <summary> 
    35. /// 实例化DoubleClick 
    36. /// </summary> 
    37. /// <param name="owner">具有双击事件的UI</param> 
    38. public DoubleClick(UIElement owner) 
    39. this.owner = owner; 
    40. this.bindEvent(); 
    41.  
    42. /// <summary> 
    43. /// 绑定事件 
    44. /// </summary> 
    45. private void bindEvent() 
    46. //初始化时设置控件左键单击时触发的鼠标点击事件 
    47. this.owner.MouseLeftButtonDown += (new MouseButtonEventHandler(this.owner_MouseLeftButtonDown)); 
    48. DispatcherTimer timer = new DispatcherTimer(); 
    49. //设置单击事件时间间隔 
    50. timer.Interval = (new TimeSpan(0, 0, 0, 0, 200)); 
    51. this.doubleClickTimer = timer; 
    52. //初始化时设置在200毫秒之内部调用此事件,如果超过200毫秒还没有得到第二次点击,则调用此事件 
    53. this.doubleClickTimer.Tick += (new EventHandler(this.doubleClickTimer_Tick)); 
    54. /// <summary> 
    55. /// 此事件在超过200毫秒未接收到第二次点击时触发。确定本次是单击事件。 
    56. /// </summary> 
    57. /// <param name="sender"></param> 
    58. /// <param name="e"></param> 
    59. private void doubleClickTimer_Tick(object sender, EventArgs e) 
    60. this.isOnceClick = false
    61. this.doubleClickTimer.Stop(); 
    62.  
    63. private void owner_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
    64. if (!this.isOnceClick) 
    65. { //点击第一次之后开始计时,并且设置此时为单击一次 
    66. this.isOnceClick = true
    67. this.doubleClickTimer.Start(); 
    68. else 
    69. { //在200毫秒的时间间隔之内并且触发doubleClickTimer_Tick事件。则执行鼠标左键双击事件。 
    70. this.mouseLeftDoubleDown(sender, e); 

            上面一段源代码在项目中,可以直接拷贝创建不用修改它,也可以不必看它的运行原理。我们右键点击项目名称,然后“添加”-->“新建项”,新建一个名为Uc.xaml自定义控件类,Uc.xaml.cs代码如下:

     

    
    
    1. private DoubleClick MouseDoubleClick; 
    2.       private bool isDoubleClick; 
    3.       /// <summary> 
    4.       /// 是否允许双击 
    5.       /// </summary> 
    6.       public bool IsDoubleClick 
    7.       { 
    8.           get { return isDoubleClick; } 
    9.           set {  
    10.               isDoubleClick = value; 
    11.               if (isDoubleClick == true
    12.               { 
    13.                   MouseDoubleClick = new DoubleClick(this); 
    14.                   this.MouseDoubleClick.mouseLeftDoubleDown += new MouseLeftDoubleDownEventHandler(full_mouseLeftDoubleDown); 
    15.                   this.Cursor = Cursors.Hand;                 
    16.               } 
    17.               else 
    18.               {  
    19.                    
    20.               } 
    21.           } 
    22.       } 
    23.       private void full_mouseLeftDoubleDown(object sender, MouseButtonEventArgs e) 
    24.       { 
    25.           MessageBox.Show("你双击了此矩形框"); 
    26.       } 

             在自定义控件中自定义一个属性,然后设置属性为Ture是实例化DoubleClick类,为此类的mouseLeftDoubleDown事件加载事件 方法,在此方法中实现需要进行的双击操作。最后我们在MainPage.xaml.cs代码中编写以下代码即可创建可设置是否允许双击的自定义控件。

    
    
    1. Uc uc = new Uc(); 
    2.           uc.IsDoubleClick = true
    3.           this.LayoutRoot.Children.Add(uc); 

            本实例采用VS2010+Silverlight 4.0编写 如需要源码点击 http://files.cnblogs.com/chengxingliang/SLDoubleClick.rar 下载。


    本文转自程兴亮 51CTO博客,原文链接:http://blog.51cto.com/chengxingliang/821476

    展开全文
  • 用java代码模拟鼠标双击事件

    千次阅读 2017-12-03 20:19:49
    用java代码可以模拟鼠标双击事件,达到打开一个程序或者文件夹等等的效果import java.io.File; import java.io.IOException;public class startExe { public static void main(String[] args) { try { java.awt....

    用java代码可以模拟鼠标双击事件,达到打开一个程序或者文件夹等等的效果

    import java.io.File;
    import java.io.IOException;
    
    public class startExe {
        public static void main(String[] args) {
            try {
                java.awt.Desktop.getDesktop().open(new File("F:/图片/test.jpg"));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    运行,效果是
    这里写图片描述

    展开全文
  • js 模拟鼠标双击

    2021-03-31 19:14:54
    var targLink = document.getElementById ("something"); var clickEvent = document.createEvent ('MouseEvents'); clickEvent.initEvent ('dblclick', true, true); targLink.dispatchEvent (clickEvent);...
    var targLink    = document.getElementById ("something");
    var clickEvent  = document.createEvent ('MouseEvents');
    clickEvent.initEvent ('dblclick', true, true);
    targLink.dispatchEvent (clickEvent);
    

    参考
    https://stackoverflow.com/questions/23926921/how-do-i-double-click-on-objects-using-javascript-do-i-have-to-click-twice

    展开全文
  • python3实战–selenium自动化输入手机、selenium自动化百度搜索、拖拽阿里云滑动验证、模拟鼠标双击、模拟鼠标拖拽 参考:https://www.cnblogs.com/win0211/p/12107003.html ...# -*- coding: utf-8 -*- ...

    python3实战–selenium自动化输入手机、selenium自动化百度搜索、拖拽阿里云滑动验证、模拟鼠标双击、模拟鼠标拖拽
    参考:https://www.cnblogs.com/win0211/p/12107003.html
    https://blog.csdn.net/qq_33371343/article/details/78916751

    # -*- coding: utf-8 -*-
    """
    Created on Wed May 13 15:10:58 2020
    
    @author: fern.xu
    """
    import datetime
    import win32api
    import win32gui
    import win32con
    import ctypes
    import time
    import unittest
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver import ActionChains
    
    def open_browser():
        '''
        browser = webdriver.Chrome()
        #browser.get('https://m-fat.wldxxx.net/gsd/index.html?channel=op_prm_dxt_00140107')
        #browser.get('https://m-fat.wldxxx.net/gsd/index.html')
        #browser.get('https://promotion.aliyun.com/ntms/act/captchaIntroAndDemo.html?spm=5176.10695662.1386720.1.5b12fbadh3Ot0G&wh_ttid=pc')
        browser.get('http://172.27.110.239/download/1.html')
        #browser.find_element_by_name("mobile").send_keys("13333333333")#自动输入手机号码
        #browser.find_element_by_name("opt").click()
        browser.maximize_window()
        drag1 = browser.find_element_by_id('dragEle')#获取第一,二,三能拖拽的元素
        action_chains = ActionChains(browser)# 创建一个新的ActionChains,将webdriver实例对driver作为参数值传入,然后通过WenDriver实例执行用户动作
        #将页面上的第一个能被拖拽的元素拖拽到第二个元素位置
        #将页面上的第三个能拖拽的元素,向右下拖动10个像素,共拖动5次
        action_chains.drag_and_drop_by_offset(drag1, 208, 0).perform()
        time.sleep(5)#休眠3秒
        browser.quit()
        '''
        browser = webdriver.Chrome()
        browser.get('https://promotion.aliyun.com/ntms/act/captchaIntroAndDemo.html?spm=5176.10695662.1386720.1.5b12fbadh3Ot0G&wh_ttid=pc')
        drag1 = browser.find_element_by_id('nc_1_n1z')#获取第一,二,三能拖拽的元素
        action_chains = ActionChains(browser)
        action_chains.drag_and_drop_by_offset(drag1, 258, 0).perform()
        time.sleep(5)
        browser.quit()
        '''
        browser.get('https://www.baidu.com')#打开百度网页
        browser.find_element_by_id("kw").send_keys("selenium")# 输入需要查询的关键字
        browser.find_element_by_id("su").click()#点击“百度一下”进行搜索
        '''
    
    open_browser()#打开浏览器输入手机号码
    
    
    '''
    def mouse_click(x,y): #鼠标双击动作
        ctypes.windll.user32.SetCursorPos(x,y)
        ctypes.windll.user32.mouse_event(2,0,0,0,0)
        ctypes.windll.user32.mouse_event(4,0,0,0,0)
        #重复上面两条语句属于双击
        #ctypes.windll.user32.mouse_event(2,0,0,0,0)
        #ctypes.windll.user32.mouse_event(4,0,0,0,0)
     
    def mouse_doSth():
        print('获取短信验证码')
        mouse_click(936,635)#我的电脑的鼠标坐标位置
        time.sleep(3)
        
    mouse_doSth()#触发短信验证码
    
    def mouse_move():#鼠标按下不放,从一个坐标点直线拖动到另外一个坐标点
        ctypes.windll.user32.SetCursorPos(102, 327)#鼠标按下的坐标点
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 102, 327, 102, 327)
        time.sleep(2)z
        win32api.mouse_event(win32con.MOUSEEVENTF_ABSOLUTE + win32con.MOUSEEVENTF_MOVE, 102, 327, 360, 327)
        time.sleep(2)
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 360, 327, 360, 327)
        ctypes.windll.user32.SetCursorPos(360, 327)#鼠标停在最后弹起的坐标点
    
    mouse_move()
    '''
    
    展开全文
  • 在实际项目中,我们只能够模拟鼠标双击事件。其原理如下:控件接受到第一次单击事件,此时开始设置一个计时器,在计时器的时间范围内收到第二次点击事件,那么执行双击事件应该执行的程序段。如果计时器在规定的时间...
  • internal static class MouseButtonHelper  {  private const long k_DoubleClickSpeed = 500;  private const double k_MaxMoveDistance = 10;  private static long _LastClickTi
  • 主要是移动端 双击会被看成是放大页面,而这个功能 做过h5的童鞋肯定知道 其实移动端是禁止方法 那么直接的双击事件 就没有 1. 想到双击 肯定会有童鞋想到 jquery的 dblclick 事件 但问题是在移动端就不生效 那这...
  • box.innerHTML = "单击鼠标隐藏边框"; flog = false; }else{ box.style.border = "0px"; box.innerHTML = "单击鼠标显示边框" flog = true; } }   转载于:...
  •   ...chrome IE9+ ff 的双击事件分解为 mousedown mouseup mousedown mouseup,IE8 分解为mousedown mouseup mouseup。IE6 7没测 转载于:https://www.cnblogs.com/strangerqt/p/3565002.html
  • 自定义双击事件 lbUserInRoleEvent = new DoubleClickHelper(); lbUserNotInRoleEvent = new DoubleClickHelper(); lbUserInRoleEvent.OnDoubleClick += new EventHandler (lbUserInRoleEvent_...
  • 开始模拟鼠标双击操作 action_chains = ActionChains(self.driver) action_chains.double_click(inputBox).perform() time.sleep( 3 ) def tearDown(self): # 退出IE浏览器 self.driver.quit() ...
  • 我要向一目标程序的两个按钮发送双击事件。 其中一个按钮,只需要执行以下两行代码就行。 PostMessage(hWnd, WM_LBUTTONDBLCLK, 0, 0); PostMessage(hWnd, WM_LBUTTONUP, 0, 0); 但是另一按钮,我即使用...
  • 刚学AS3的时候并不知道FLASH鼠标双击消息可用 mc.addEventListener(MouseEvent.DOUBLE_CLICK, onDoubleClick); 加了以上事件后依然得不到双击消息,后来才知道要得到双击消息需要将一个属性mc.doubleClickEnabled ...
  • 网上找到的 都是这种windowAPI的方式 来获取桌面 资源图标 好像只针对xp可用 win10 捣鼓了半天也不行,最后自己通过UIAutomation 写了一套 下见代码 /// <summary> /// 获得桌面图标名称和位置 winxp ...
  • 在Silverlight 5的新特性中已经包含了鼠标双击的事件,看以下的代码<Gridx:Name="LayoutRoot"Background="White"><EllipseHeight="103"HorizontalAlignment="Left"Fill="Green"Margin="117,56,0,0"...
  • 模拟鼠标的单双击

    千次阅读 2014-07-31 17:53:44
    如果要模拟鼠标双击,则重复发送一次鼠标被按下 和弹起的消息。 程序代码 (1)通过AppWizard生成单文档的应用程序SimulateMouse,视图类的基类选为CFormView。 (2)给对话框增加【双击标题栏】按钮
  • VC++ 模拟鼠标单击 双击 实现

    热门讨论 2010-03-18 08:55:19
    VC++ 模拟鼠标单击 双击 实现 VC++ 模拟鼠标单击 双击 实现
  • 模拟鼠标移动 , 设定光标位置, 模拟鼠标单击双击
  • 模拟鼠标单击、双击 C++实现

    热门讨论 2013-12-21 21:15:39
    模拟鼠标单击、双击 C++实现,欢迎大家下载!模拟鼠标单击、双击 C++实现,欢迎大家下载!模拟鼠标单击、双击 C++实现,欢迎大家下载!模拟鼠标单击、双击 C++实现,欢迎大家下载!模拟鼠标单击、双击 C++实现,欢迎...
  • C++模拟鼠标移动,设定光标位置, 模拟鼠标单击双击操作,点击对应的按钮实现相应的鼠标操作,比如点击双击标题栏,则窗口最大化,移动光标则会改变鼠标光标的位置。 运行环境:Windows/Visual C/C++
  • 内容索引:VC/C++源码,系统相关,鼠标 VC++模拟鼠标单击、双击的实现,也就是在窗体上布局一些按钮,单击这些按钮来模拟鼠标单击或双击后的结果,意在熟悉鼠标点击的原理,并与系统的配合,效果抓图如上。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 582
精华内容 232
关键字:

模拟鼠标双击