|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。程序|鼠标偶然,我们需在我们的程序中摹拟鼠标的挪动、点击等举措。――好比,一个再现用户操纵的宏,大概一个演示操纵办法的Demo程序。那末,我们在.Net中怎样完成呢?
.Net并没有供应改动鼠标指针地位、摹拟点击操纵的函数;可是WindowsAPI供应了。个中一个是:
[DllImport("user32.dll")]
staticexternboolSetCursorPos(intX,intY);
该函数能够改动鼠标指针的地位。个中X,Y是相对屏幕左上角的相对地位。
另外一个函数是:
[DllImport("user32.dll")]
staticexternvoidmouse_event(MouseEventFlagflags,intdx,intdy,uintdata,UIntPtrextraInfo);
这个函数不但能够设置鼠标指针相对的地位,并且能够以绝对坐标来设置。别的,该函数还能够摹拟鼠标摆布键点击、鼠标滚轮操纵等。个中的MouseEventFlag是一个基于uint范例的列举,界说以下:
[Flags]
enumMouseEventFlag:uint
{
Move=0x0001,
LeftDown=0x0002,
LeftUp=0x0004,
RightDown=0x0008,
RightUp=0x0010,
MiddleDown=0x0020,
MiddleUp=0x0040,
XDown=0x0080,
XUp=0x0100,
Wheel=0x0800,
VirtualDesk=0x4000,
Absolute=0x8000
}
关于这两个函数的具体申明,能够检察MSDNLibrary大概Windows的PlatformSDK文档。
上面的演示程序(完全版源代码,VS.Net2005/C#)演示了利用下面的函数,把持鼠标挪动就任务栏并点击“入手下手”按钮的办法。
(该程序利用了FindWindowEx等API函数来查找义务栏及入手下手菜单)
点这里下载
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。 |
|