当前位置: 首页 > wzjs >正文

沈阳做网站公司新区快速seo排名

沈阳做网站公司,新区快速seo排名,网站的静态页面,网站开发样板监听windows中鼠标侧面键的按钮按下事件用到的包核心类使用这个类用到的包 jna-5.11.0.jar jna-platform-5.11.0.jar核心类 package sample.tt.mouse;import com.sun.jna.Pointer; import com.sun.jna.platform.win32.*; import com.sun.jna.platform.win32.WinDef.HMODULE; …

监听windows中鼠标侧面键的按钮按下事件

    • 用到的包
    • 核心类
    • 使用这个类

用到的包

jna-5.11.0.jar
jna-platform-5.11.0.jar

核心类

package sample.tt.mouse;import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.*;
import com.sun.jna.platform.win32.WinDef.HMODULE;
import com.sun.jna.platform.win32.WinDef.LPARAM;
import com.sun.jna.platform.win32.WinDef.LRESULT;
import com.sun.jna.platform.win32.WinDef.WPARAM;
import com.sun.jna.platform.win32.WinUser.HHOOK;
import com.sun.jna.platform.win32.WinUser.KBDLLHOOKSTRUCT;
import com.sun.jna.platform.win32.WinUser.LowLevelKeyboardProc;
import com.sun.jna.platform.win32.WinUser.MSG;import java.awt.*;
import java.awt.event.KeyEvent;public class GlobalMouseHook {private static HHOOK hHook;private static LowLevelMouseProc mouseProc;private static User32 lib;// 手动定义鼠标事件常量private static final int WM_XBUTTONDOWN = 0x020B;private static final int XBUTTON1 = 0x0001;private static final int XBUTTON2 = 0x0002;private static LRESULT callback(int nCode, WPARAM wParam, WinUser.MSLLHOOKSTRUCT lParam) {if (nCode >= 0) {int wParamValue = wParam.intValue();// 检测侧面键按下事件if (wParamValue == WM_XBUTTONDOWN) {int buttonId = (lParam.mouseData >> 16) & 0xFFFF;if (buttonId == XBUTTON1) {//左侧从前往后第一个按钮executeALTF4();}if (buttonId == XBUTTON2) {//左侧从前往后第一个按钮executeALTESC();}}}return lib.CallNextHookEx(hHook, nCode, wParam, new LPARAM(Pointer.nativeValue(lParam.getPointer())));}public interface LowLevelMouseProc extends WinUser.HOOKPROC {LRESULT callback(int nCode, WPARAM wParam, WinUser.MSLLHOOKSTRUCT lParam);}public static void startHook(Runnable onSideButtonClick) {lib = User32.INSTANCE;HMODULE hMod = Kernel32.INSTANCE.GetModuleHandle(null);mouseProc = GlobalMouseHook::callback;hHook = lib.SetWindowsHookEx(WinUser.WH_MOUSE_LL,mouseProc,hMod,0);// 消息循环new Thread(() -> {MSG msg = new MSG();while (lib.GetMessage(msg, null, 0, 0) != 0) {lib.TranslateMessage(msg);lib.DispatchMessage(msg);}}).start();}public static void stopHook() {if (hHook != null) {lib.UnhookWindowsHookEx(hHook);hHook = null;}}public static void executeALTF4(){try {// 创建 Robot 实例Robot robot = new Robot();robot.setAutoDelay(100); // 设置按键间隔,确保系统能正确识别组合键// 模拟按下 Alt 键robot.keyPress(KeyEvent.VK_ALT);// 模拟按下 F4 键robot.keyPress(KeyEvent.VK_F4);// 释放 F4 键robot.keyRelease(KeyEvent.VK_F4);// 释放 Alt 键robot.keyRelease(KeyEvent.VK_ALT);System.out.println("已模拟 Alt+F4 快捷键");} catch (AWTException e) {e.printStackTrace();}}public static void executeALTESC(){try {// 创建 Robot 实例Robot robot = new Robot();robot.setAutoDelay(100); // 设置按键间隔,确保系统能正确识别组合键// 模拟按下 Alt 键robot.keyPress(KeyEvent.VK_ALT);// 模拟按下 F4 键robot.keyPress(KeyEvent.VK_ESCAPE);// 释放 F4 键robot.keyRelease(KeyEvent.VK_ESCAPE);// 释放 Alt 键robot.keyRelease(KeyEvent.VK_ESCAPE);System.out.println("已模拟 Alt+F4 快捷键");} catch (AWTException e) {e.printStackTrace();}}
}

使用这个类

        // 启动全局钩子GlobalMouseHook.startHook(new Runnable() {@Overridepublic void run() {System.out.println(234);}});// 关闭时卸载钩子primaryStage.setOnCloseRequest(e -> GlobalMouseHook.stopHook());
http://www.dtcms.com/wzjs/437809.html

相关文章:

  • 怎样做酒店网站ppt模板网站推广该怎么做
  • kn95口罩惠州seo招聘
  • 自己建设网站需要什么手续杭州网站seo外包
  • 做图网站如何创建网站站点
  • 公司的网站建设费做什么费用职业技能培训机构
  • 手机端网站怎么做苏州seo网站公司
  • 网站建设与管理教学大纲微信怎么推广找客源
  • seo如何优化网站推广智慧教育
  • 最新网站建设合同360网站推广费用
  • 东莞建设网官方网站广州快速排名
  • 江苏建站管理系统开发世界足球排名
  • 常州网站建设乛薇郴州网站seo外包
  • 网站建设分几模块河南省郑州市金水区
  • 网站的建设参考文献国际新闻快报
  • 网站底部显示百度站点地图河南纯手工seo
  • 在线看视频网站怎么做的北京网站建设公司大全
  • 建设企业网站需要用营业执照么滨州seo排名
  • 如何做视频网站的会员代理网上销售平台怎么做
  • 网站建设公司怎么做业务大连seo关键词排名
  • 乌市做网站的公司免费的行情网站app
  • 哪些网站可以做调查赚钱百度问答官网
  • 长沙网站建站推广网页开发
  • 手机微网站怎么做引流推广网站平台
  • 营销型网站展示沈阳网站关键词优化多少钱
  • 公司对网站排名如何做绩效抖音企业推广
  • 政府网站建设情况调查表网络推广员一个月多少钱
  • 做h5小程序的网站搜索引擎优化seo多少钱
  • 上海企业网站建设公司哪家好青岛seo百科
  • 20亿做网站网络营销比较好的企业
  • 织梦的网站关键词公司网址怎么注册