如何通过java获取系统鼠标位置?

如何通过java获取系统鼠标位置?

最近玩游戏点击鼠标,按键觉得太辛苦了,想写辅助程序帮忙操作。java中没有找到获取系统鼠标的方法,就借助dll来实现。

先建立java文件MouseInfo.java

如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?publicclassMouseInfo{
如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?
static{
如何通过java获取系统鼠标位置?System.loadLibrary(
"MouseInfo");
如何通过java获取系统鼠标位置?}

如何通过java获取系统鼠标位置?publicnativestaticintgetMousePosX();
如何通过java获取系统鼠标位置?
publicnativestaticintgetMousePosY();
如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?
publicstaticvoidmain(String[]args)throwsException{
如何通过java获取系统鼠标位置?
//TODOAuto-generatedmethodstub
如何通过java获取系统鼠标位置?MouseInfomouseInfo=newMouseInfo();
如何通过java获取系统鼠标位置?System.out.println(
"x:"+mouseInfo.getMousePosX()+"y:"+mouseInfo.getMousePosY());
如何通过java获取系统鼠标位置?}

如何通过java获取系统鼠标位置?}

javac MouseInfo.java

javah MouseInfo

生成MouseInfo.h

如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?/*DONOTEDITTHISFILE-itismachinegenerated*/
如何通过java获取系统鼠标位置?#include<jni.h>
如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?/*HeaderforclassMouseInfo*/
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?#ifndef_Included_MouseInfo
如何通过java获取系统鼠标位置?
#define_Included_MouseInfo
如何通过java获取系统鼠标位置?#ifdef__cplusplus
如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?
extern"C"{
如何通过java获取系统鼠标位置?
#endif
如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?/*
如何通过java获取系统鼠标位置?*Class:MouseInfo
如何通过java获取系统鼠标位置?*Method:getMousePosX
如何通过java获取系统鼠标位置?*Signature:()I
如何通过java获取系统鼠标位置?
*/

如何通过java获取系统鼠标位置?JNIEXPORTjintJNICALLJava_MouseInfo_getMousePosX
如何通过java获取系统鼠标位置?(JNIEnv
*,jclass);
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?
/*
如何通过java获取系统鼠标位置?*Class:MouseInfo
如何通过java获取系统鼠标位置?*Method:getMousePosY
如何通过java获取系统鼠标位置?*Signature:()I
如何通过java获取系统鼠标位置?
*/

如何通过java获取系统鼠标位置?JNIEXPORTjintJNICALLJava_MouseInfo_getMousePosY
如何通过java获取系统鼠标位置?(JNIEnv
*,jclass);
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?#ifdef__cplusplus
如何通过java获取系统鼠标位置?}

如何通过java获取系统鼠标位置?#endif
如何通过java获取系统鼠标位置?#endif
如何通过java获取系统鼠标位置?

用vc建一个win32动态dll工程

建立StdAfx.h

如何通过java获取系统鼠标位置?//stdafx.h:includefileforstandardsystemincludefiles,
如何通过java获取系统鼠标位置?
//orprojectspecificincludefilesthatareusedfrequently,but
如何通过java获取系统鼠标位置?
//arechangedinfrequently
如何通过java获取系统鼠标位置?
//
如何通过java获取系统鼠标位置?

如何通过java获取系统鼠标位置?#if!defined(AFX_STDAFX_H__9CE33D16_5EAB_479B_A1CE_AEC7E4B243B6__INCLUDED_)
如何通过java获取系统鼠标位置?#defineAFX_STDAFX_H__9CE33D16_5EAB_479B_A1CE_AEC7E4B243B6__INCLUDED_
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?
#if_MSC_VER>1000
如何通过java获取系统鼠标位置?#pragmaonce
如何通过java获取系统鼠标位置?#endif//_MSC_VER>1000
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?
#defineVC_EXTRALEAN//Excluderarely-usedstufffromWindowsheaders
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?#include
<afxwin.h>//MFCcoreandstandardcomponents
如何通过java获取系统鼠标位置?#include<afxext.h>//MFCextensions
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?#ifndef_AFX_NO_OLE_SUPPORT
如何通过java获取系统鼠标位置?#include
<afxole.h>//MFCOLEclasses
如何通过java获取系统鼠标位置?#include<afxodlgs.h>//MFCOLEdialogclasses
如何通过java获取系统鼠标位置?#include<afxdisp.h>//MFCAutomationclasses
如何通过java获取系统鼠标位置?#endif//_AFX_NO_OLE_SUPPORT
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?#ifndef_AFX_NO_DB_SUPPORT
如何通过java获取系统鼠标位置?#include
<afxdb.h>//MFCODBCdatabaseclasses
如何通过java获取系统鼠标位置?#endif//_AFX_NO_DB_SUPPORT
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?#ifndef_AFX_NO_DAO_SUPPORT
如何通过java获取系统鼠标位置?#include
<afxdao.h>//MFCDAOdatabaseclasses
如何通过java获取系统鼠标位置?#endif//_AFX_NO_DAO_SUPPORT
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?#include
<afxdtctl.h>//MFCsupportforInternetExplorer4CommonControls
如何通过java获取系统鼠标位置?#ifndef_AFX_NO_AFXCMN_SUPPORT
如何通过java获取系统鼠标位置?#include
<afxcmn.h>//MFCsupportforWindowsCommonControls
如何通过java获取系统鼠标位置?#endif//_AFX_NO_AFXCMN_SUPPORT
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?
//{{AFX_INSERT_LOCATION}}
如何通过java获取系统鼠标位置?
//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?#endif//!defined(AFX_STDAFX_H__9CE33D16_5EAB_479B_A1CE_AEC7E4B243B6__INCLUDED_)
如何通过java获取系统鼠标位置?

建立MouseInfo.cpp

如何通过java获取系统鼠标位置?#include"MouseInfo.h"
如何通过java获取系统鼠标位置?#include"StdAfx.h"
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?JNIEXPORTjintJNICALLJava_MouseInfo_getMousePosX
如何通过java获取系统鼠标位置?(JNIEnv
*,jclass)
如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?
{
如何通过java获取系统鼠标位置?
//获取当前系统鼠标的x坐标,返回int型
如何通过java获取系统鼠标位置?intxPos=100;
如何通过java获取系统鼠标位置?POINTpt;
如何通过java获取系统鼠标位置?GetCursorPos(
&pt);
如何通过java获取系统鼠标位置?xPos
=pt.x;
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?
returnxPos;
如何通过java获取系统鼠标位置?}

如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?JNIEXPORTjintJNICALLJava_MouseInfo_getMousePosY
如何通过java获取系统鼠标位置?(JNIEnv
*,jclass)
如何通过java获取系统鼠标位置?如何通过java获取系统鼠标位置?
{
如何通过java获取系统鼠标位置?
//获取当前系统鼠标的y坐标,返回int型
如何通过java获取系统鼠标位置?intyPos=100;
如何通过java获取系统鼠标位置?POINTpt;
如何通过java获取系统鼠标位置?GetCursorPos(
&pt);
如何通过java获取系统鼠标位置?yPos
=pt.y;
如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?
returnyPos;
如何通过java获取系统鼠标位置?}

如何通过java获取系统鼠标位置?
如何通过java获取系统鼠标位置?

将生成的MouseInfo.dll放入java项目中运行。

这样在java中就可以获取到鼠标的系统位置。

然后应用java中的Robot类来方便的处理各种模拟事件。也许这是一种多此一举的做法,因为习惯了java编程,所以这个思路就这么形成了。呵呵。