您的位置:首页 > 编程语言 > Java开发

Java 实现全局(全操作系统)的键盘鼠标模拟

2012-10-12 15:43 956 查看
Java 实现全局(全操作系统)的键盘鼠标模拟,Java的Robot类实现的是本窗口级的鼠标键盘模拟,Java实现全操作系统级的鼠标和键盘模拟就需要SWT Win32 Extension来帮助。

需要SWT Win32 Extension的包支持:http://feeling.sourceforge.net/index.php

(一)键盘模拟

import org.sf.feeling.swt.win32.extension.Win32;
import org.sf.feeling.swt.win32.extension.io.Keyboard;

public class KeyboardSnippet {
public static void main(String[] args) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Keyboard.keyDown(Win32.VK_LWIN, 0, false);//键盘上的Win键
Keyboard.keyDown('M', 0, false);
Keyboard.keyUp('M', 0, false);
Keyboard.keyUp(Win32.VK_LWIN, 0, false);
}
}


(二)鼠标模拟

import org.sf.feeling.swt.win32.extension.io.Mouse;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Display;

public class MouseSnippet {

public static void main(String[] args) {
Mouse.mouseMove(new Point(0, 65535 / 3), true);
for (int i = 0; i < 1000; i++) {
Mouse.mouseMove(new Point(1, 0), false);
try {
Thread.sleep(5);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Mouse.mouseClick(Mouse.MOUSE_RIGHT, Display.getDefault().getCursorLocation(), true);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
Mouse.mouseMove(new Point(65535 / 2, 65535 / 2), true);
Mouse.mouseClick(Mouse.MOUSE_LEFT, new Point(0, 0),false);
for (int i = 0; i < 10; i++) {
Mouse.mouseWheel(1, true);
try {
Thread.sleep(20);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}


/article/11439958.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: