freepeeg
2014-08-23 05:17:53
What do S.M.A.R.T use to send Key/Mouse events? I know that injection/reflection type of "soft" saves the client(jar file), adjusts it to accept fake input events and then problem solved. What about S.M.A.R.T?
2014-08-23 05:17:53
2014-08-23 06:55:00
2014-08-23 14:30:52
2014-08-23 14:59:58
From: freepeeg
No offense but your lack of programming knowledge makes me think why the oranges you are here but at the same time im about to go for a smoke. Cmon people , does it generate awt events because simply sending/posting Win API message doesn't seem to work. Plus as far as I know it can run on Linux so there would be a lot of issues involved if it uses Win API. Thanks for your answers.
Lanadekat - there is no such a thing as a "virtual" mouse. Minimized application ain't painted and there is a hell lot of more issues involved… But thanks for trying to help :))
protected void dispatchEvent(AWTEvent event) {
if (event instanceof UnblockedEvent) {
AWTEvent e = ((UnblockedEvent)event).getEvent();
((Component)e.getSource()).dispatchEvent(e);
} else if (blockedComponents.contains(event.getSource()) && blocking.get(event.getSource())) {
if (event instanceof MouseEvent || event instanceof KeyEvent || event instanceof WindowEvent || event instanceof FocusEvent) {
redirects.get(event.getSource()).dispatched(event);
return;
}
super.dispatchEvent(event);
} else {
super.dispatchEvent(event);
}
}
private synchronized Point moveMouseImpl(int x, int y) {
int btnMask = (leftDown ? MouseEvent.BUTTON1_DOWN_MASK : 0) | (rightDown ? (MouseEvent.BUTTON3_DOWN_MASK | MouseEvent.META_DOWN_MASK) : 0);
if (isDragging()) {
BlockingEventQueue.sendUnblocked(new MouseEvent(comp,MouseEvent.MOUSE_DRAGGED,System.currentTimeMillis(),btnMask,x,y,0,false,0));
} else if (x >= 0 && x < comp.getWidth() && y >= 0 && y < comp.getHeight()) {
if (mousein) {
BlockingEventQueue.sendUnblocked(new MouseEvent(comp,MouseEvent.MOUSE_MOVED,System.currentTimeMillis(),btnMask,x,y,0,false,0));
} else {
mousein = true;
BlockingEventQueue.sendUnblocked(new MouseEvent(comp,MouseEvent.MOUSE_ENTERED,System.currentTimeMillis(),btnMask,x,y,0,false,0));
}
} else {
if (mousein) {
BlockingEventQueue.sendUnblocked(new MouseEvent(comp,MouseEvent.MOUSE_EXITED,System.currentTimeMillis(),btnMask,x,y,0,false,0));
mousein = false;
} else {
//Mouse outside and still out, no event.
}
}
cx = x;
cy = y;
return new Point(cx, cy);
}
public synchronized Point moveMouse(int x, int y) {
if (canInteract()) {
return moveMouseImpl(x,y);
}
return null;
}
[Registering JNI native method sun.misc.Unsafe.staticFieldBase]
[Registering JNI native method sun.misc.Unsafe.ensureClassInitialized]
[Registering JNI native method sun.misc.Unsafe.arrayBaseOffset]
[Registering JNI native method sun.misc.Unsafe.arrayIndexScale]
[Registering JNI native method sun.misc.Unsafe.addressSize]
[Registering JNI native method sun.misc.Unsafe.pageSize]
[Dynamic-linking native method java.lang.Throwable.fillInStackTrace ... JNI]
[Registering JNI native method sun.misc.Unsafe.getObject]
[Registering JNI native method sun.misc.Unsafe.putObject]
[Registering JNI native method sun.misc.Unsafe.getObjectVolatile]
[Registering JNI native method sun.misc.Unsafe.putObjectVolatile]
[Registering JNI native method sun.misc.Unsafe.getBoolean]
[Registering JNI native method sun.misc.Unsafe.putBoolean]
[Registering JNI native method sun.misc.Unsafe.getBooleanVolatile]
[Registering JNI native method sun.misc.Unsafe.putBooleanVolatile]
[Registering JNI native method sun.misc.Unsafe.getByte]
[Registering JNI native method sun.misc.Unsafe.putByte]
[Registering JNI native method sun.misc.Unsafe.getByteVolatile]
[Registering JNI native method sun.misc.Unsafe.putByteVolatile]
[Registering JNI native method sun.misc.Unsafe.getShort]
[Registering JNI native method sun.misc.Unsafe.putShort]
[Registering JNI native method sun.misc.Unsafe.getShortVolatile]
[Registering JNI native method sun.misc.Unsafe.putShortVolatile]
[Registering JNI native method sun.misc.Unsafe.getChar]
[Registering JNI native method sun.misc.Unsafe.putChar]
[Registering JNI native method sun.misc.Unsafe.getCharVolatile]
[Registering JNI native method sun.misc.Unsafe.putCharVolatile]
[Registering JNI native method sun.misc.Unsafe.getInt]
[Registering JNI native method sun.misc.Unsafe.putInt]
[Registering JNI native method sun.misc.Unsafe.getIntVolatile]
[Registering JNI native method sun.misc.Unsafe.putIntVolatile]
[Registering JNI native method sun.misc.Unsafe.getLong]
[Registering JNI native method sun.misc.Unsafe.putLong]
[Registering JNI native method sun.misc.Unsafe.getLongVolatile]
[Registering JNI native method sun.misc.Unsafe.putLongVolatile]
[Registering JNI native method sun.misc.Unsafe.getFloat]
[Registering JNI native method sun.misc.Unsafe.putFloat]
[Registering JNI native method sun.misc.Unsafe.getFloatVolatile]
[Registering JNI native method sun.misc.Unsafe.putFloatVolatile]
[Registering JNI native method sun.misc.Unsafe.getDouble]
[Registering JNI native method sun.misc.Unsafe.putDouble]
[Registering JNI native method sun.misc.Unsafe.getDoubleVolatile]
[Registering JNI native method sun.misc.Unsafe.putDoubleVolatile]
[Registering JNI native method sun.misc.Unsafe.getByte]
[Registering JNI native method sun.misc.Unsafe.putByte]
[Registering JNI native method sun.misc.Unsafe.getShort]
[Registering JNI native method sun.misc.Unsafe.putShort]
[Registering JNI native method sun.misc.Unsafe.getChar]
[Registering JNI native method sun.misc.Unsafe.putChar]
[Registering JNI native method sun.misc.Unsafe.getInt]
[Registering JNI native method sun.misc.Unsafe.putInt]
[Registering JNI native method sun.misc.Unsafe.getLong]
[Registering JNI native method sun.misc.Unsafe.putLong]
[Registering JNI native method sun.misc.Unsafe.getFloat]
[Registering JNI native method sun.misc.Unsafe.putFloat]
[Registering JNI native method sun.misc.Unsafe.getDouble]
[Registering JNI native method sun.misc.Unsafe.putDouble]
[Registering JNI native method sun.misc.Unsafe.getAddress]
[Registering JNI native method sun.misc.Unsafe.putAddress]
[Registering JNI native method sun.misc.Unsafe.allocateMemory]
[Registering JNI native method sun.misc.Unsafe.reallocateMemory]
[Registering JNI native method sun.misc.Unsafe.freeMemory]
[Registering JNI native method sun.misc.Unsafe.objectFieldOffset]
[Registering JNI native method sun.misc.Unsafe.staticFieldOffset]
[Registering JNI native method sun.misc.Unsafe.staticFieldBase]
[Registering JNI native method sun.misc.Unsafe.ensureClassInitialized]
[Registering JNI native method sun.misc.Unsafe.arrayBaseOffset]
[Registering JNI native method sun.misc.Unsafe.arrayIndexScale]
[Registering JNI native method sun.misc.Unsafe.addressSize]
[Registering JNI native method sun.misc.Unsafe.pageSize]
[Registering JNI native method sun.misc.Unsafe.defineClass]
[Registering JNI native method sun.misc.Unsafe.allocateInstance]
[Registering JNI native method sun.misc.Unsafe.monitorEnter]
[Registering JNI native method sun.misc.Unsafe.monitorExit]
[Registering JNI native method sun.misc.Unsafe.tryMonitorEnter]
[Registering JNI native method sun.misc.Unsafe.throwException]
[Registering JNI native method sun.misc.Unsafe.compareAndSwapObject]
[Registering JNI native method sun.misc.Unsafe.compareAndSwapInt]
[Registering JNI native method sun.misc.Unsafe.compareAndSwapLong]
[Registering JNI native method sun.misc.Unsafe.putOrderedObject]
[Registering JNI native method sun.misc.Unsafe.putOrderedInt]
[Registering JNI native method sun.misc.Unsafe.putOrderedLong]
[Registering JNI native method sun.misc.Unsafe.park]
[Registering JNI native method sun.misc.Unsafe.unpark]
[Registering JNI native method sun.misc.Unsafe.getLoadAverage]
[Registering JNI native method sun.misc.Unsafe.copyMemory]
[Registering JNI native method sun.misc.Unsafe.setMemory]
[Registering JNI native method sun.misc.Unsafe.defineAnonymousClass]
[Registering JNI native method sun.misc.Unsafe.shouldBeInitialized]
[Registering JNI native method sun.misc.Unsafe.loadFence]
[Registering JNI native method sun.misc.Unsafe.storeFence]
[Registering JNI native method sun.misc.Unsafe.fullFence]
[Dynamic-linking native method sun.reflect.Reflection.getCallerClass ... JNI]
[Dynamic-linking native method java.io.FileDescriptor.set ... JNI]
[Dynamic-linking native method java.io.FileOutputStream.initIDs ... JNI]
[Dynamic-linking native method java.security.AccessController.doPrivileged ... J
NI]
[Dynamic-linking native method java.lang.String.intern ... JNI]
[Dynamic-linking native method java.lang.System.setIn0 ... JNI]
[Dynamic-linking native method java.lang.Object.getClass ... JNI]
[Dynamic-linking native method java.lang.Class.forName0 ... JNI]
[Dynamic-linking native method sun.reflect.Reflection.getClassAccessFlags ... JN
I]
[Dynamic-linking native method sun.reflect.NativeConstructorAccessorImpl.newInst
ance0 ... JNI]
[Dynamic-linking native method java.lang.System.setOut0 ... JNI]
[Dynamic-linking native method java.lang.System.setErr0 ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.initIDs ... JNI]
[Dynamic-linking native method java.lang.System.mapLibraryName ... JNI]
[Dynamic-linking native method java.lang.ClassLoader$NativeLibrary.findBuiltinLi
b ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.getBooleanAttributes ...
JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.canonicalize0 ... JNI]
[Dynamic-linking native method java.lang.ClassLoader$NativeLibrary.load ... JNI]
[Dynamic-linking native method sun.misc.Signal.findSignal ... JNI]
[Dynamic-linking native method sun.misc.Signal.handle0 ... JNI]
[Dynamic-linking native method sun.io.Win32ErrorMode.setErrorMode ... JNI]
[Dynamic-linking native method java.lang.Compiler.registerNatives ... JNI]
[Registering JNI native method java.lang.Compiler.compileClass]
[Registering JNI native method java.lang.Compiler.compileClasses]
[Registering JNI native method java.lang.Compiler.command]
[Registering JNI native method java.lang.Compiler.enable]
[Registering JNI native method java.lang.Compiler.disable]
[Dynamic-linking native method java.lang.Class.isAssignableFrom ... JNI]
[Dynamic-linking native method java.io.FileInputStream.open ... JNI]
[Dynamic-linking native method java.io.FileInputStream.readBytes ... JNI]
[Dynamic-linking native method java.io.FileInputStream.available ... JNI]
[Dynamic-linking native method java.lang.reflect.Array.newArray ... JNI]
[Dynamic-linking native method java.lang.Runtime.availableProcessors ... JNI]
[Dynamic-linking native method java.io.FileInputStream.close0 ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.list ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.canonicalizeWithPrefix0 .
.. JNI]
[Dynamic-linking native method java.lang.invoke.MethodHandleNatives.registerNati
ves ... JNI]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.init]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.expand]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.resolve]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.getConstant]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.getNamedCon]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.getMembers]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.objectFieldO
ffset]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.setCallSiteT
argetNormal]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.setCallSiteT
argetVolatile]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.staticFieldO
ffset]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.staticFieldB
ase]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.getMemberVMI
nfo]
[Registering JNI native method java.lang.invoke.MethodHandle.invoke]
[Registering JNI native method java.lang.invoke.MethodHandle.invokeExact]
[Dynamic-linking native method java.lang.ClassLoader.findLoadedClass0 ... JNI]
[Dynamic-linking native method java.lang.ClassLoader.findBootstrapClass ... JNI]
[Dynamic-linking native method java.lang.ClassLoader$NativeLibrary.find ... JNI]
[Dynamic-linking native method java.security.AccessController.doPrivileged ... J
NI]
[Dynamic-linking native method java.util.zip.ZipFile.initIDs ... JNI]
[Dynamic-linking native method java.lang.Package.getSystemPackage0 ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.getLength ... JNI]
[Dynamic-linking native method sun.misc.Perf.registerNatives ... JNI]
[Registering JNI native method sun.misc.Perf.attach]
[Registering JNI native method sun.misc.Perf.detach]
[Registering JNI native method sun.misc.Perf.createLong]
[Registering JNI native method sun.misc.Perf.createByteArray]
[Registering JNI native method sun.misc.Perf.highResCounter]
[Registering JNI native method sun.misc.Perf.highResFrequency]
[Dynamic-linking native method java.lang.ClassLoader.defineClass1 ... JNI]
[Dynamic-linking native method java.security.AccessController.doPrivileged ... J
NI]
[Dynamic-linking native method java.io.WinNTFileSystem.getLastModifiedTime ... J
NI]
[Dynamic-linking native method java.util.zip.ZipFile.open ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getTotal ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.startsWithLOC ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntry ... JNI]
[Dynamic-linking native method java.awt.Toolkit.initIDs ... JNI]
[Dynamic-linking native method java.awt.Insets.initIDs ... JNI]
[Dynamic-linking native method java.awt.Component.initIDs ... JNI]
[Dynamic-linking native method java.awt.AWTEvent.initIDs ... JNI]
[Dynamic-linking native method java.awt.event.InputEvent.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WObjectPeer.initIDs ... JNI]
[Dynamic-linking native method java.awt.Font.initIDs ... JNI]
[Dynamic-linking native method sun.reflect.NativeMethodAccessorImpl.invoke0 ...
JNI]
[Dynamic-linking native method java.awt.Container.initIDs ... JNI]
[Dynamic-linking native method java.awt.Window.initIDs ... JNI]
[Dynamic-linking native method java.awt.Frame.initIDs ... JNI]
[Dynamic-linking native method java.lang.System.identityHashCode ... JNI]
[Dynamic-linking native method java.awt.Cursor.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.SurfaceData.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.ColorModel.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.IndexColorModel.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.pipe.SpanClipRenderer.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.pipe.Region.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.windows.WindowsFlags.initNativeFlags .
.. JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsEnvironment.initDisplay ...
JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsEnvironment.getNumScreens ..
. JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsDevice.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.Disposer.initIDs ... JNI]
[Dynamic-linking native method java.lang.Class.isInstance ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.startToolkitThread ... J
NI]
[Dynamic-linking native method sun.awt.windows.WToolkit.init ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.eventLoop ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.setDynamicLayoutNative .
.. JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.setExtraMouseButtonsEnab
ledNative ... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DGraphicsDevice.initD3D ... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DRenderQueue.flushBuffer ... JNI
]
[Dynamic-linking native method sun.java2d.d3d.D3DGraphicsDevice.getDeviceCapsNat
ive ... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DGraphicsDevice.getDeviceIdNativ
e ... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsDevice.initDevice ... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsEnvironment.getDefaultScreen
... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsConfig.initIDs ... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsConfig.getBounds ... JNI]
[Dynamic-linking native method java.awt.Rectangle.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.getScreenInsets ... JNI]
[Dynamic-linking native method java.awt.KeyboardFocusManager.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WDesktopProperties.initIDs ... JN
I]
[Dynamic-linking native method sun.awt.windows.WDesktopProperties.init ... JNI]
[Dynamic-linking native method sun.awt.windows.WDesktopProperties.getWindowsPara
meters ... JNI]
[Dynamic-linking native method java.awt.Color.initIDs ... JNI]
[Dynamic-linking native method java.awt.Dimension.initIDs ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryFlag ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryTime ... JNI]
[Dynamic-linking native method java.util.TimeZone.getSystemTimeZoneID ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryCrc ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntrySize ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryCSize ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryMethod ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryBytes ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.freeEntry ... JNI]
[Dynamic-linking native method java.util.jar.JarFile.getMetaInfEntryNames ... JN
I]
[Dynamic-linking native method java.util.zip.ZipFile.read ... JNI]
[Dynamic-linking native method java.awt.event.KeyEvent.initIDs ... JNI]
I]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.localPort0 ...
JNI]
[Dynamic-linking native method java.net.SocketOutputStream.init ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.setIntOption ..
. JNI]
[Dynamic-linking native method java.net.SocketOutputStream.socketWrite0 ... JNI]
[Dynamic-linking native method java.net.SocketInputStream.init ... JNI]
[Dynamic-linking native method java.net.SocketInputStream.socketRead0 ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.close0 ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.available0 ...
JNI]
[Dynamic-linking native method java.util.concurrent.atomic.AtomicLong.VMSupports
CS8 ... JNI]
[Dynamic-linking native method sun.security.provider.NativeSeedGenerator.nativeG
enerateSeed ... JNI]
[Dynamic-linking native method java.net.NetworkInterface.init ... JNI]
[Dynamic-linking native method java.net.NetworkInterface.getAll ... JNI]
[Dynamic-linking native method java.net.NetworkInterface.getMacAddr0 ... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.initIDs ... JN
I]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.FindFirstFile0
... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.FindNextFile .
.. JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.FindClose ...
JNI]
[Dynamic-linking native method java.lang.Runtime.totalMemory ... JNI]
[Dynamic-linking native method java.lang.Runtime.freeMemory ... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.CreateFile0 ..
. JNI]
[Dynamic-linking native method sun.nio.ch.IOUtil.initIDs ... JNI]
[Dynamic-linking native method sun.nio.ch.IOUtil.iovMax ... JNI]
[Dynamic-linking native method sun.nio.ch.FileChannelImpl.initIDs ... JNI]
[Dynamic-linking native method sun.nio.ch.FileDispatcherImpl.close0 ... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.GetFileAttribu
tesEx0 ... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.DeleteFile0 ..
. JNI]
[Dynamic-linking native method sun.nio.ch.FileDispatcherImpl.write0 ... JNI]
[Dynamic-linking native method java.util.zip.Inflater.initIDs ... JNI]
[Dynamic-linking native method java.util.zip.Inflater.init ... JNI]
[Dynamic-linking native method java.util.zip.Inflater.inflateBytes ... JNI]
[Dynamic-linking native method java.util.zip.Inflater.reset ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getNextEntry ... JNI]
[Dynamic-linking native method java.net.Inet6AddressImpl.getLocalHostName ... JN
I]
[Dynamic-linking native method java.util.zip.Inflater.end ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.close ... JNI]
[Dynamic-linking native method java.lang.SecurityManager.getClassContext ... JNI
]
[Dynamic-linking native method java.util.zip.Deflater.initIDs ... JNI]
[Dynamic-linking native method java.util.zip.Deflater.init ... JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.initIDs .
.. JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.setOption
... JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.start ...
JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.getNextFi
le ... JNI]
[Dynamic-linking native method java.util.zip.Deflater.deflateBytes ... JNI]
[Dynamic-linking native method java.util.zip.Deflater.reset ... JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.getUnused
Input ... JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.finish ..
. JNI]
[Dynamic-linking native method java.util.zip.Deflater.end ... JNI]
[Dynamic-linking native method java.lang.Throwable.getStackTraceDepth ... JNI]
[Dynamic-linking native method java.lang.Throwable.getStackTraceElement ... JNI]
[Dynamic-linking native method java.io.FileOutputStream.writeBytes ... JNI]
Error: client.init:1213 sun.reflect.NativeMethodAccessorImpl.invoke0 sun.reflect
.NativeMethodAccessorImpl.invoke sun.reflect.DelegatingMethodAccessorImpl.invoke
java.lang.reflect.Method.invoke Rs2Applet.a:91 Rs2Applet.init:472 eos.ClientApp
let.start:52 | java.lang.RuntimeException |
[Dynamic-linking native method java.io.RandomAccessFile.initIDs ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.open ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.read ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.seek0 ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.write ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.length ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.readBytes ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.close0 ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.delete0 ... JNI]
[Dynamic-linking native method sun.awt.windows.WRobotPeer.create ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.getNumberOfButtonsImpl .
.. JNI]
[Dynamic-linking native method sun.awt.windows.WPanelPeer.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WFramePeer.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WFramePeer.createAwtFrame ... JNI
]
[Dynamic-linking native method sun.java2d.windows.GDIWindowSurfaceData.initIDs .
.. JNI]
[Dynamic-linking native method sun.java2d.loops.GraphicsPrimitiveMgr.initIDs ...
JNI]
[Dynamic-linking native method sun.java2d.loops.GraphicsPrimitiveMgr.registerNat
iveLoops ... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsDevice.makeColorModel ... JN
I]
[Dynamic-linking native method sun.java2d.windows.GDIWindowSurfaceData.initOps .
.. JNI]
[Dynamic-linking native method sun.awt.windows.WCanvasPeer.setNativeBackgroundEr
ase ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.reshapeFrame ... JNI]
[Dynamic-linking native method sun.java2d.windows.GDIWindowSurfaceData.invalidat
eSD ... JNI]
[Dynamic-linking native method sun.awt.windows.WColor.getDefaultColor ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer._setBackground ...
JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer._setForeground ...
JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.updateInsets ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer._setFont ... JNI]
[Dynamic-linking native method sun.awt.PlatformFont.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WFontPeer.initIDs ... JNI]
[Dynamic-linking native method sun.font.SunFontManager.initIDs ... JNI]
[Dynamic-linking native method sun.font.StrikeCache.getGlyphCacheDescription ...
JNI]
[Dynamic-linking native method sun.awt.Win32FontManager.getEUDCFontFile ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.checkAccess ... JNI]
[Dynamic-linking native method sun.awt.Win32FontManager.getFontPath ... JNI]
[Dynamic-linking native method java.lang.ProcessEnvironment.environmentBlock ...
JNI]
[Dynamic-linking native method sun.awt.FontDescriptor.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.setIconImagesData ...
JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer._setTitle ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer._setResizable ... JNI
]
[Dynamic-linking native method sun.awt.windows.WFramePeer.setState ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.start ... JNI]
[Dynamic-linking native method sun.awt.windows.WFramePeer.clearMaximizedBounds .
.. JNI]
[Dynamic-linking native method sun.awt.windows.WCanvasPeer.create ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.pShow ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.reshape ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.setZOrder ... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initOps ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.beginValidate ...
JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.endValidate ... JN
I]
[Dynamic-linking native method sun.awt.SunToolkit.closeSplashScreen ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.nativeHandleEvent
... JNI]
[Dynamic-linking native method java.awt.Dialog.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getNativeLocale ...
JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethodDescriptor.getNativeA
vailableLocales ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer._dispose ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.setFocusableWindow ..
. JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.getScreenImOn ... JNI
]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.setMinSize ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.findHeavywei
ghtUnderCursor ... JNI]
[Dynamic-linking native method java.awt.event.MouseEvent.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.getLocationO
nScreen ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.getLocationOnScree
n ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.getCursorPos
... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.setCursor ..
. JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initFlipBackbuffer
... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initTexture ... JNI
]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.getNati
veFocusOwner ... JNI]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.getNati
veFocusedWindow ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.requestWindowFocus ..
. JNI]
[Dynamic-linking native method java.awt.Event.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.setNati
veFocusOwner ... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.createNativeContext
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getConversionStatus
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getOpenStatus ... JN
I]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setConversionStatus
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setOpenStatus ... JN
I]
[Dynamic-linking native method sun.awt.windows.WInputMethod.enableNativeIME ...
JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setNativeLocale ...
JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.setFocus ... JNI]
[Dynamic-linking native method sun.awt.windows.WClipboard.init ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.configureBlocki
ng ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.waitForConnect
... JNI]
[Dynamic-linking native method java.awt.FontMetrics.initIDs ... JNI]
[Dynamic-linking native method sun.nio.ch.FileDispatcherImpl.size0 ... JNI]
[Dynamic-linking native method sun.nio.ch.FileChannelImpl.position0 ... JNI]
[Dynamic-linking native method sun.nio.ch.FileDispatcherImpl.read0 ... JNI]
[Dynamic-linking native method sun.font.FileFontStrike.initNative ... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.initIDs ... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.initNativeScaler ... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.createScalerContextNative
... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.getFontMetricsNative ... J
NI]
[Dynamic-linking native method sun.awt.image.ImageRepresentation.initIDs ... JNI
]
[Dynamic-linking native method sun.awt.image.GifImageDecoder.initIDs ... JNI]
[Dynamic-linking native method sun.awt.image.GifImageDecoder.parseImage ... JNI]
[Dynamic-linking native method sun.awt.image.GifImageDecoder.parseImage ... JNI]
[Dynamic-linking native method java.awt.image.Raster.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.SampleModel.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.ComponentSampleModel.initIDs ... J
NI]
[Dynamic-linking native method sun.awt.image.ByteComponentRaster.initIDs ... JNI
]
[Dynamic-linking native method java.awt.image.BufferedImage.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.SinglePixelPackedSampleModel.initI
Ds ... JNI]
[Dynamic-linking native method sun.awt.image.IntegerComponentRaster.initIDs ...
JNI]
[Dynamic-linking native method sun.awt.image.BufImgSurfaceData.initIDs ... JNI]
[Dynamic-linking native method sun.awt.image.BufImgSurfaceData.initRaster ... JN
I]
[Dynamic-linking native method sun.java2d.loops.FillRect.FillRect ... JNI]
[Dynamic-linking native method sun.java2d.SurfaceData.isOpaqueGray ... JNI]
[Dynamic-linking native method sun.java2d.loops.Blit.Blit ... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.getGlyphImageNative ... JN
I]
[Dynamic-linking native method sun.java2d.loops.DrawGlyphList.DrawGlyphList ...
JNI]
[Dynamic-linking native method sun.java2d.loops.TransformHelper.Transform ... JN
I]
[Dynamic-linking native method sun.java2d.DefaultDisposerRecord.invokeNativeDisp
ose ... JNI]
[Dynamic-linking native method sun.awt.image.JPEGImageDecoder.initIDs ... JNI]
[Dynamic-linking native method sun.awt.image.JPEGImageDecoder.readImage ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.writeBytes ... JNI]
[Dynamic-linking native method com.sun.media.sound.Platform.nGetExtraLibraries .
.. JNI]
[Dynamic-linking native method com.sun.media.sound.Platform.nIsBigEndian ... JNI
]
[Dynamic-linking native method com.sun.media.sound.Platform.nIsSigned8 ... JNI]
[Dynamic-linking native method com.sun.media.sound.Platform.nGetLibraryForFeatur
e ... JNI]
[Dynamic-linking native method com.sun.media.sound.PortMixerProvider.nGetNumDevi
ces ... JNI]
[Dynamic-linking native method com.sun.media.sound.PortMixerProvider.nNewPortMix
erInfo ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDeviceProvider.nGe
tNumDevices ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDeviceProvider.nNe
wDirectAudioDeviceInfo ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nGetFormats
... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nOpen ... J
NI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nGetBufferS
ize ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nGetBytePos
ition ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nStart ...
JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nRequiresSe
rvicing ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nService ..
. JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nAvailable
... JNI]
[Dynamic-linking native method java.io.FileOutputStream.open ... JNI]
[Dynamic-linking native method java.io.FileOutputStream.close0 ... JNI]
[Dynamic-linking native method jaclib.nanotime.QueryPerformanceCounter.init ...
JNI]
[Dynamic-linking native method jaclib.ping.IcmpService.available ... JNI]
[Dynamic-linking native method jaclib.ping.IcmpService.run ... JNI]
[Dynamic-linking native method jaclib.ping.Ping.init ... JNI]
[Dynamic-linking native method java.util.zip.CRC32.updateBytes ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.shutdown ... JNI]
[Dynamic-linking native method java.lang.Shutdown.halt0 ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.setMinSize ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.findHeavywei
ghtUnderCursor ... JNI]
[Dynamic-linking native method java.awt.event.MouseEvent.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.getLocationO
nScreen ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.getLocationOnScree
n ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.getCursorPos
... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.setCursor ..
. JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initFlipBackbuffer
... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initTexture ... JNI
]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.getNati
veFocusOwner ... JNI]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.getNati
veFocusedWindow ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.requestWindowFocus ..
. JNI]
[Dynamic-linking native method java.awt.Event.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.setNati
veFocusOwner ... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.createNativeContext
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getConversionStatus
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getOpenStatus ... JN
I]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setConversionStatus
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setOpenStatus ... JN
I]
[Dynamic-linking native method sun.awt.windows.WInputMethod.enableNativeIME ...
JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setNativeLocale ...
JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.setFocus ... JNI]
[Dynamic-linking native method sun.awt.windows.WClipboard.init ... JNI]
2014-08-23 15:38:34
From: Brandon
Actually, there is technically such a thing as a virtual mouse (we usually just call it mouse events.. They aren't hardware input and so it is "virtual") but I'll leave that for another time.. Also, applications CAN paint even when minimised.. Depends on how you set it up or program it.
And again, it DOES use WINAPI.. so uh.. all of what you said was maybe a tad bit incorrect if I may say? Not being rude or anything.. I hope it doesn't come off as bad.. Only good intentions here.
The idea that C or C++ isn't cross-platform is a myth. I take it you believed it judging by the statement about running on linux.
Try not to put down others like the guy above you. I'm sure he just had good intentions and tried to help out with however much he may know.
Anyway..
SMART sends mouse events using an EventQueue dispatcher..
protected void dispatchEvent(AWTEvent event) {
if (event instanceof UnblockedEvent) {
AWTEvent e = ((UnblockedEvent)event).getEvent();
((Component)e.getSource()).dispatchEvent(e);
} else if (blockedComponents.contains(event.getSource()) && blocking.get(event.getSource())) {
if (event instanceof MouseEvent || event instanceof KeyEvent || event instanceof WindowEvent || event instanceof FocusEvent) {
redirects.get(event.getSource()).dispatched(event);
return;
}
super.dispatchEvent(event);
} else {
super.dispatchEvent(event);
}
}
Then to make it accurate, you can add a listener to the canvas. Monitor the events using that listener and see what flags are set for the mouse event. That's what I did for writing SMART's scroll-mouse procedure. It makes sure that you get the exact same event as a human movement/click/release would do.. When you gather enough information, you may simulate the same behaviour by "replaying" those events.. In other words, sending them with the same flags and data..
And so, I'm sure Benland100 did the same thing when he wrote the movements.. It is done as follows:
private synchronized Point moveMouseImpl(int x, int y) {
int btnMask = (leftDown ? MouseEvent.BUTTON1_DOWN_MASK : 0) | (rightDown ? (MouseEvent.BUTTON3_DOWN_MASK | MouseEvent.META_DOWN_MASK) : 0);
if (isDragging()) {
BlockingEventQueue.sendUnblocked(new MouseEvent(comp,MouseEvent.MOUSE_DRAGGED,System.currentTimeMillis(),btnMask,x,y,0,false,0));
} else if (x >= 0 && x < comp.getWidth() && y >= 0 && y < comp.getHeight()) {
if (mousein) {
BlockingEventQueue.sendUnblocked(new MouseEvent(comp,MouseEvent.MOUSE_MOVED,System.currentTimeMillis(),btnMask,x,y,0,false,0));
} else {
mousein = true;
BlockingEventQueue.sendUnblocked(new MouseEvent(comp,MouseEvent.MOUSE_ENTERED,System.currentTimeMillis(),btnMask,x,y,0,false,0));
}
} else {
if (mousein) {
BlockingEventQueue.sendUnblocked(new MouseEvent(comp,MouseEvent.MOUSE_EXITED,System.currentTimeMillis(),btnMask,x,y,0,false,0));
mousein = false;
} else {
//Mouse outside and still out, no event.
}
}
cx = x;
cy = y;
return new Point(cx, cy);
}
public synchronized Point moveMouse(int x, int y) {
if (canInteract()) {
return moveMouseImpl(x,y);
}
return null;
}
All of this is on SMART's github. Another way is to "replace" the canvas' listeners with your own (SMART does not do this)..
If you want to be more technical and find out HOW mouse events are really handled by the JVM, then you can create your own instance of the JVM and set the "-verbose:jni" flag. You'll notice that it loads a LOT of .dll's and .so files.
and the results would be:
[Registering JNI native method sun.misc.Unsafe.staticFieldBase]
[Registering JNI native method sun.misc.Unsafe.ensureClassInitialized]
[Registering JNI native method sun.misc.Unsafe.arrayBaseOffset]
[Registering JNI native method sun.misc.Unsafe.arrayIndexScale]
[Registering JNI native method sun.misc.Unsafe.addressSize]
[Registering JNI native method sun.misc.Unsafe.pageSize]
[Dynamic-linking native method java.lang.Throwable.fillInStackTrace ... JNI]
[Registering JNI native method sun.misc.Unsafe.getObject]
[Registering JNI native method sun.misc.Unsafe.putObject]
[Registering JNI native method sun.misc.Unsafe.getObjectVolatile]
[Registering JNI native method sun.misc.Unsafe.putObjectVolatile]
[Registering JNI native method sun.misc.Unsafe.getBoolean]
[Registering JNI native method sun.misc.Unsafe.putBoolean]
[Registering JNI native method sun.misc.Unsafe.getBooleanVolatile]
[Registering JNI native method sun.misc.Unsafe.putBooleanVolatile]
[Registering JNI native method sun.misc.Unsafe.getByte]
[Registering JNI native method sun.misc.Unsafe.putByte]
[Registering JNI native method sun.misc.Unsafe.getByteVolatile]
[Registering JNI native method sun.misc.Unsafe.putByteVolatile]
[Registering JNI native method sun.misc.Unsafe.getShort]
[Registering JNI native method sun.misc.Unsafe.putShort]
[Registering JNI native method sun.misc.Unsafe.getShortVolatile]
[Registering JNI native method sun.misc.Unsafe.putShortVolatile]
[Registering JNI native method sun.misc.Unsafe.getChar]
[Registering JNI native method sun.misc.Unsafe.putChar]
[Registering JNI native method sun.misc.Unsafe.getCharVolatile]
[Registering JNI native method sun.misc.Unsafe.putCharVolatile]
[Registering JNI native method sun.misc.Unsafe.getInt]
[Registering JNI native method sun.misc.Unsafe.putInt]
[Registering JNI native method sun.misc.Unsafe.getIntVolatile]
[Registering JNI native method sun.misc.Unsafe.putIntVolatile]
[Registering JNI native method sun.misc.Unsafe.getLong]
[Registering JNI native method sun.misc.Unsafe.putLong]
[Registering JNI native method sun.misc.Unsafe.getLongVolatile]
[Registering JNI native method sun.misc.Unsafe.putLongVolatile]
[Registering JNI native method sun.misc.Unsafe.getFloat]
[Registering JNI native method sun.misc.Unsafe.putFloat]
[Registering JNI native method sun.misc.Unsafe.getFloatVolatile]
[Registering JNI native method sun.misc.Unsafe.putFloatVolatile]
[Registering JNI native method sun.misc.Unsafe.getDouble]
[Registering JNI native method sun.misc.Unsafe.putDouble]
[Registering JNI native method sun.misc.Unsafe.getDoubleVolatile]
[Registering JNI native method sun.misc.Unsafe.putDoubleVolatile]
[Registering JNI native method sun.misc.Unsafe.getByte]
[Registering JNI native method sun.misc.Unsafe.putByte]
[Registering JNI native method sun.misc.Unsafe.getShort]
[Registering JNI native method sun.misc.Unsafe.putShort]
[Registering JNI native method sun.misc.Unsafe.getChar]
[Registering JNI native method sun.misc.Unsafe.putChar]
[Registering JNI native method sun.misc.Unsafe.getInt]
[Registering JNI native method sun.misc.Unsafe.putInt]
[Registering JNI native method sun.misc.Unsafe.getLong]
[Registering JNI native method sun.misc.Unsafe.putLong]
[Registering JNI native method sun.misc.Unsafe.getFloat]
[Registering JNI native method sun.misc.Unsafe.putFloat]
[Registering JNI native method sun.misc.Unsafe.getDouble]
[Registering JNI native method sun.misc.Unsafe.putDouble]
[Registering JNI native method sun.misc.Unsafe.getAddress]
[Registering JNI native method sun.misc.Unsafe.putAddress]
[Registering JNI native method sun.misc.Unsafe.allocateMemory]
[Registering JNI native method sun.misc.Unsafe.reallocateMemory]
[Registering JNI native method sun.misc.Unsafe.freeMemory]
[Registering JNI native method sun.misc.Unsafe.objectFieldOffset]
[Registering JNI native method sun.misc.Unsafe.staticFieldOffset]
[Registering JNI native method sun.misc.Unsafe.staticFieldBase]
[Registering JNI native method sun.misc.Unsafe.ensureClassInitialized]
[Registering JNI native method sun.misc.Unsafe.arrayBaseOffset]
[Registering JNI native method sun.misc.Unsafe.arrayIndexScale]
[Registering JNI native method sun.misc.Unsafe.addressSize]
[Registering JNI native method sun.misc.Unsafe.pageSize]
[Registering JNI native method sun.misc.Unsafe.defineClass]
[Registering JNI native method sun.misc.Unsafe.allocateInstance]
[Registering JNI native method sun.misc.Unsafe.monitorEnter]
[Registering JNI native method sun.misc.Unsafe.monitorExit]
[Registering JNI native method sun.misc.Unsafe.tryMonitorEnter]
[Registering JNI native method sun.misc.Unsafe.throwException]
[Registering JNI native method sun.misc.Unsafe.compareAndSwapObject]
[Registering JNI native method sun.misc.Unsafe.compareAndSwapInt]
[Registering JNI native method sun.misc.Unsafe.compareAndSwapLong]
[Registering JNI native method sun.misc.Unsafe.putOrderedObject]
[Registering JNI native method sun.misc.Unsafe.putOrderedInt]
[Registering JNI native method sun.misc.Unsafe.putOrderedLong]
[Registering JNI native method sun.misc.Unsafe.park]
[Registering JNI native method sun.misc.Unsafe.unpark]
[Registering JNI native method sun.misc.Unsafe.getLoadAverage]
[Registering JNI native method sun.misc.Unsafe.copyMemory]
[Registering JNI native method sun.misc.Unsafe.setMemory]
[Registering JNI native method sun.misc.Unsafe.defineAnonymousClass]
[Registering JNI native method sun.misc.Unsafe.shouldBeInitialized]
[Registering JNI native method sun.misc.Unsafe.loadFence]
[Registering JNI native method sun.misc.Unsafe.storeFence]
[Registering JNI native method sun.misc.Unsafe.fullFence]
[Dynamic-linking native method sun.reflect.Reflection.getCallerClass ... JNI]
[Dynamic-linking native method java.io.FileDescriptor.set ... JNI]
[Dynamic-linking native method java.io.FileOutputStream.initIDs ... JNI]
[Dynamic-linking native method java.security.AccessController.doPrivileged ... J
NI]
[Dynamic-linking native method java.lang.String.intern ... JNI]
[Dynamic-linking native method java.lang.System.setIn0 ... JNI]
[Dynamic-linking native method java.lang.Object.getClass ... JNI]
[Dynamic-linking native method java.lang.Class.forName0 ... JNI]
[Dynamic-linking native method sun.reflect.Reflection.getClassAccessFlags ... JN
I]
[Dynamic-linking native method sun.reflect.NativeConstructorAccessorImpl.newInst
ance0 ... JNI]
[Dynamic-linking native method java.lang.System.setOut0 ... JNI]
[Dynamic-linking native method java.lang.System.setErr0 ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.initIDs ... JNI]
[Dynamic-linking native method java.lang.System.mapLibraryName ... JNI]
[Dynamic-linking native method java.lang.ClassLoader$NativeLibrary.findBuiltinLi
b ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.getBooleanAttributes ...
JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.canonicalize0 ... JNI]
[Dynamic-linking native method java.lang.ClassLoader$NativeLibrary.load ... JNI]
[Dynamic-linking native method sun.misc.Signal.findSignal ... JNI]
[Dynamic-linking native method sun.misc.Signal.handle0 ... JNI]
[Dynamic-linking native method sun.io.Win32ErrorMode.setErrorMode ... JNI]
[Dynamic-linking native method java.lang.Compiler.registerNatives ... JNI]
[Registering JNI native method java.lang.Compiler.compileClass]
[Registering JNI native method java.lang.Compiler.compileClasses]
[Registering JNI native method java.lang.Compiler.command]
[Registering JNI native method java.lang.Compiler.enable]
[Registering JNI native method java.lang.Compiler.disable]
[Dynamic-linking native method java.lang.Class.isAssignableFrom ... JNI]
[Dynamic-linking native method java.io.FileInputStream.open ... JNI]
[Dynamic-linking native method java.io.FileInputStream.readBytes ... JNI]
[Dynamic-linking native method java.io.FileInputStream.available ... JNI]
[Dynamic-linking native method java.lang.reflect.Array.newArray ... JNI]
[Dynamic-linking native method java.lang.Runtime.availableProcessors ... JNI]
[Dynamic-linking native method java.io.FileInputStream.close0 ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.list ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.canonicalizeWithPrefix0 .
.. JNI]
[Dynamic-linking native method java.lang.invoke.MethodHandleNatives.registerNati
ves ... JNI]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.init]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.expand]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.resolve]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.getConstant]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.getNamedCon]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.getMembers]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.objectFieldO
ffset]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.setCallSiteT
argetNormal]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.setCallSiteT
argetVolatile]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.staticFieldO
ffset]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.staticFieldB
ase]
[Registering JNI native method java.lang.invoke.MethodHandleNatives.getMemberVMI
nfo]
[Registering JNI native method java.lang.invoke.MethodHandle.invoke]
[Registering JNI native method java.lang.invoke.MethodHandle.invokeExact]
[Dynamic-linking native method java.lang.ClassLoader.findLoadedClass0 ... JNI]
[Dynamic-linking native method java.lang.ClassLoader.findBootstrapClass ... JNI]
[Dynamic-linking native method java.lang.ClassLoader$NativeLibrary.find ... JNI]
[Dynamic-linking native method java.security.AccessController.doPrivileged ... J
NI]
[Dynamic-linking native method java.util.zip.ZipFile.initIDs ... JNI]
[Dynamic-linking native method java.lang.Package.getSystemPackage0 ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.getLength ... JNI]
[Dynamic-linking native method sun.misc.Perf.registerNatives ... JNI]
[Registering JNI native method sun.misc.Perf.attach]
[Registering JNI native method sun.misc.Perf.detach]
[Registering JNI native method sun.misc.Perf.createLong]
[Registering JNI native method sun.misc.Perf.createByteArray]
[Registering JNI native method sun.misc.Perf.highResCounter]
[Registering JNI native method sun.misc.Perf.highResFrequency]
[Dynamic-linking native method java.lang.ClassLoader.defineClass1 ... JNI]
[Dynamic-linking native method java.security.AccessController.doPrivileged ... J
NI]
[Dynamic-linking native method java.io.WinNTFileSystem.getLastModifiedTime ... J
NI]
[Dynamic-linking native method java.util.zip.ZipFile.open ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getTotal ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.startsWithLOC ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntry ... JNI]
[Dynamic-linking native method java.awt.Toolkit.initIDs ... JNI]
[Dynamic-linking native method java.awt.Insets.initIDs ... JNI]
[Dynamic-linking native method java.awt.Component.initIDs ... JNI]
[Dynamic-linking native method java.awt.AWTEvent.initIDs ... JNI]
[Dynamic-linking native method java.awt.event.InputEvent.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WObjectPeer.initIDs ... JNI]
[Dynamic-linking native method java.awt.Font.initIDs ... JNI]
[Dynamic-linking native method sun.reflect.NativeMethodAccessorImpl.invoke0 ...
JNI]
[Dynamic-linking native method java.awt.Container.initIDs ... JNI]
[Dynamic-linking native method java.awt.Window.initIDs ... JNI]
[Dynamic-linking native method java.awt.Frame.initIDs ... JNI]
[Dynamic-linking native method java.lang.System.identityHashCode ... JNI]
[Dynamic-linking native method java.awt.Cursor.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.SurfaceData.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.ColorModel.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.IndexColorModel.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.pipe.SpanClipRenderer.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.pipe.Region.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.windows.WindowsFlags.initNativeFlags .
.. JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsEnvironment.initDisplay ...
JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsEnvironment.getNumScreens ..
. JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsDevice.initIDs ... JNI]
[Dynamic-linking native method sun.java2d.Disposer.initIDs ... JNI]
[Dynamic-linking native method java.lang.Class.isInstance ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.startToolkitThread ... J
NI]
[Dynamic-linking native method sun.awt.windows.WToolkit.init ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.eventLoop ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.setDynamicLayoutNative .
.. JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.setExtraMouseButtonsEnab
ledNative ... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DGraphicsDevice.initD3D ... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DRenderQueue.flushBuffer ... JNI
]
[Dynamic-linking native method sun.java2d.d3d.D3DGraphicsDevice.getDeviceCapsNat
ive ... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DGraphicsDevice.getDeviceIdNativ
e ... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsDevice.initDevice ... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsEnvironment.getDefaultScreen
... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsConfig.initIDs ... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsConfig.getBounds ... JNI]
[Dynamic-linking native method java.awt.Rectangle.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.getScreenInsets ... JNI]
[Dynamic-linking native method java.awt.KeyboardFocusManager.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WDesktopProperties.initIDs ... JN
I]
[Dynamic-linking native method sun.awt.windows.WDesktopProperties.init ... JNI]
[Dynamic-linking native method sun.awt.windows.WDesktopProperties.getWindowsPara
meters ... JNI]
[Dynamic-linking native method java.awt.Color.initIDs ... JNI]
[Dynamic-linking native method java.awt.Dimension.initIDs ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryFlag ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryTime ... JNI]
[Dynamic-linking native method java.util.TimeZone.getSystemTimeZoneID ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryCrc ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntrySize ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryCSize ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryMethod ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getEntryBytes ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.freeEntry ... JNI]
[Dynamic-linking native method java.util.jar.JarFile.getMetaInfEntryNames ... JN
I]
[Dynamic-linking native method java.util.zip.ZipFile.read ... JNI]
[Dynamic-linking native method java.awt.event.KeyEvent.initIDs ... JNI]
I]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.localPort0 ...
JNI]
[Dynamic-linking native method java.net.SocketOutputStream.init ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.setIntOption ..
. JNI]
[Dynamic-linking native method java.net.SocketOutputStream.socketWrite0 ... JNI]
[Dynamic-linking native method java.net.SocketInputStream.init ... JNI]
[Dynamic-linking native method java.net.SocketInputStream.socketRead0 ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.close0 ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.available0 ...
JNI]
[Dynamic-linking native method java.util.concurrent.atomic.AtomicLong.VMSupports
CS8 ... JNI]
[Dynamic-linking native method sun.security.provider.NativeSeedGenerator.nativeG
enerateSeed ... JNI]
[Dynamic-linking native method java.net.NetworkInterface.init ... JNI]
[Dynamic-linking native method java.net.NetworkInterface.getAll ... JNI]
[Dynamic-linking native method java.net.NetworkInterface.getMacAddr0 ... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.initIDs ... JN
I]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.FindFirstFile0
... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.FindNextFile .
.. JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.FindClose ...
JNI]
[Dynamic-linking native method java.lang.Runtime.totalMemory ... JNI]
[Dynamic-linking native method java.lang.Runtime.freeMemory ... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.CreateFile0 ..
. JNI]
[Dynamic-linking native method sun.nio.ch.IOUtil.initIDs ... JNI]
[Dynamic-linking native method sun.nio.ch.IOUtil.iovMax ... JNI]
[Dynamic-linking native method sun.nio.ch.FileChannelImpl.initIDs ... JNI]
[Dynamic-linking native method sun.nio.ch.FileDispatcherImpl.close0 ... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.GetFileAttribu
tesEx0 ... JNI]
[Dynamic-linking native method sun.nio.fs.WindowsNativeDispatcher.DeleteFile0 ..
. JNI]
[Dynamic-linking native method sun.nio.ch.FileDispatcherImpl.write0 ... JNI]
[Dynamic-linking native method java.util.zip.Inflater.initIDs ... JNI]
[Dynamic-linking native method java.util.zip.Inflater.init ... JNI]
[Dynamic-linking native method java.util.zip.Inflater.inflateBytes ... JNI]
[Dynamic-linking native method java.util.zip.Inflater.reset ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.getNextEntry ... JNI]
[Dynamic-linking native method java.net.Inet6AddressImpl.getLocalHostName ... JN
I]
[Dynamic-linking native method java.util.zip.Inflater.end ... JNI]
[Dynamic-linking native method java.util.zip.ZipFile.close ... JNI]
[Dynamic-linking native method java.lang.SecurityManager.getClassContext ... JNI
]
[Dynamic-linking native method java.util.zip.Deflater.initIDs ... JNI]
[Dynamic-linking native method java.util.zip.Deflater.init ... JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.initIDs .
.. JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.setOption
... JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.start ...
JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.getNextFi
le ... JNI]
[Dynamic-linking native method java.util.zip.Deflater.deflateBytes ... JNI]
[Dynamic-linking native method java.util.zip.Deflater.reset ... JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.getUnused
Input ... JNI]
[Dynamic-linking native method com.sun.java.util.jar.pack.NativeUnpack.finish ..
. JNI]
[Dynamic-linking native method java.util.zip.Deflater.end ... JNI]
[Dynamic-linking native method java.lang.Throwable.getStackTraceDepth ... JNI]
[Dynamic-linking native method java.lang.Throwable.getStackTraceElement ... JNI]
[Dynamic-linking native method java.io.FileOutputStream.writeBytes ... JNI]
Error: client.init:1213 sun.reflect.NativeMethodAccessorImpl.invoke0 sun.reflect
.NativeMethodAccessorImpl.invoke sun.reflect.DelegatingMethodAccessorImpl.invoke
java.lang.reflect.Method.invoke Rs2Applet.a:91 Rs2Applet.init:472 eos.ClientApp
let.start:52 | java.lang.RuntimeException |
[Dynamic-linking native method java.io.RandomAccessFile.initIDs ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.open ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.read ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.seek0 ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.write ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.length ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.readBytes ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.close0 ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.delete0 ... JNI]
[Dynamic-linking native method sun.awt.windows.WRobotPeer.create ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.getNumberOfButtonsImpl .
.. JNI]
[Dynamic-linking native method sun.awt.windows.WPanelPeer.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WFramePeer.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WFramePeer.createAwtFrame ... JNI
]
[Dynamic-linking native method sun.java2d.windows.GDIWindowSurfaceData.initIDs .
.. JNI]
[Dynamic-linking native method sun.java2d.loops.GraphicsPrimitiveMgr.initIDs ...
JNI]
[Dynamic-linking native method sun.java2d.loops.GraphicsPrimitiveMgr.registerNat
iveLoops ... JNI]
[Dynamic-linking native method sun.awt.Win32GraphicsDevice.makeColorModel ... JN
I]
[Dynamic-linking native method sun.java2d.windows.GDIWindowSurfaceData.initOps .
.. JNI]
[Dynamic-linking native method sun.awt.windows.WCanvasPeer.setNativeBackgroundEr
ase ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.reshapeFrame ... JNI]
[Dynamic-linking native method sun.java2d.windows.GDIWindowSurfaceData.invalidat
eSD ... JNI]
[Dynamic-linking native method sun.awt.windows.WColor.getDefaultColor ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer._setBackground ...
JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer._setForeground ...
JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.updateInsets ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer._setFont ... JNI]
[Dynamic-linking native method sun.awt.PlatformFont.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WFontPeer.initIDs ... JNI]
[Dynamic-linking native method sun.font.SunFontManager.initIDs ... JNI]
[Dynamic-linking native method sun.font.StrikeCache.getGlyphCacheDescription ...
JNI]
[Dynamic-linking native method sun.awt.Win32FontManager.getEUDCFontFile ... JNI]
[Dynamic-linking native method java.io.WinNTFileSystem.checkAccess ... JNI]
[Dynamic-linking native method sun.awt.Win32FontManager.getFontPath ... JNI]
[Dynamic-linking native method java.lang.ProcessEnvironment.environmentBlock ...
JNI]
[Dynamic-linking native method sun.awt.FontDescriptor.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.setIconImagesData ...
JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer._setTitle ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer._setResizable ... JNI
]
[Dynamic-linking native method sun.awt.windows.WFramePeer.setState ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.start ... JNI]
[Dynamic-linking native method sun.awt.windows.WFramePeer.clearMaximizedBounds .
.. JNI]
[Dynamic-linking native method sun.awt.windows.WCanvasPeer.create ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.pShow ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.reshape ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.setZOrder ... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initOps ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.beginValidate ...
JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.endValidate ... JN
I]
[Dynamic-linking native method sun.awt.SunToolkit.closeSplashScreen ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.nativeHandleEvent
... JNI]
[Dynamic-linking native method java.awt.Dialog.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getNativeLocale ...
JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethodDescriptor.getNativeA
vailableLocales ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer._dispose ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.setFocusableWindow ..
. JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.getScreenImOn ... JNI
]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.setMinSize ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.findHeavywei
ghtUnderCursor ... JNI]
[Dynamic-linking native method java.awt.event.MouseEvent.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.getLocationO
nScreen ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.getLocationOnScree
n ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.getCursorPos
... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.setCursor ..
. JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initFlipBackbuffer
... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initTexture ... JNI
]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.getNati
veFocusOwner ... JNI]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.getNati
veFocusedWindow ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.requestWindowFocus ..
. JNI]
[Dynamic-linking native method java.awt.Event.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.setNati
veFocusOwner ... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.createNativeContext
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getConversionStatus
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getOpenStatus ... JN
I]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setConversionStatus
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setOpenStatus ... JN
I]
[Dynamic-linking native method sun.awt.windows.WInputMethod.enableNativeIME ...
JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setNativeLocale ...
JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.setFocus ... JNI]
[Dynamic-linking native method sun.awt.windows.WClipboard.init ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.configureBlocki
ng ... JNI]
[Dynamic-linking native method java.net.DualStackPlainSocketImpl.waitForConnect
... JNI]
[Dynamic-linking native method java.awt.FontMetrics.initIDs ... JNI]
[Dynamic-linking native method sun.nio.ch.FileDispatcherImpl.size0 ... JNI]
[Dynamic-linking native method sun.nio.ch.FileChannelImpl.position0 ... JNI]
[Dynamic-linking native method sun.nio.ch.FileDispatcherImpl.read0 ... JNI]
[Dynamic-linking native method sun.font.FileFontStrike.initNative ... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.initIDs ... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.initNativeScaler ... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.createScalerContextNative
... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.getFontMetricsNative ... J
NI]
[Dynamic-linking native method sun.awt.image.ImageRepresentation.initIDs ... JNI
]
[Dynamic-linking native method sun.awt.image.GifImageDecoder.initIDs ... JNI]
[Dynamic-linking native method sun.awt.image.GifImageDecoder.parseImage ... JNI]
[Dynamic-linking native method sun.awt.image.GifImageDecoder.parseImage ... JNI]
[Dynamic-linking native method java.awt.image.Raster.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.SampleModel.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.ComponentSampleModel.initIDs ... J
NI]
[Dynamic-linking native method sun.awt.image.ByteComponentRaster.initIDs ... JNI
]
[Dynamic-linking native method java.awt.image.BufferedImage.initIDs ... JNI]
[Dynamic-linking native method java.awt.image.SinglePixelPackedSampleModel.initI
Ds ... JNI]
[Dynamic-linking native method sun.awt.image.IntegerComponentRaster.initIDs ...
JNI]
[Dynamic-linking native method sun.awt.image.BufImgSurfaceData.initIDs ... JNI]
[Dynamic-linking native method sun.awt.image.BufImgSurfaceData.initRaster ... JN
I]
[Dynamic-linking native method sun.java2d.loops.FillRect.FillRect ... JNI]
[Dynamic-linking native method sun.java2d.SurfaceData.isOpaqueGray ... JNI]
[Dynamic-linking native method sun.java2d.loops.Blit.Blit ... JNI]
[Dynamic-linking native method sun.font.T2KFontScaler.getGlyphImageNative ... JN
I]
[Dynamic-linking native method sun.java2d.loops.DrawGlyphList.DrawGlyphList ...
JNI]
[Dynamic-linking native method sun.java2d.loops.TransformHelper.Transform ... JN
I]
[Dynamic-linking native method sun.java2d.DefaultDisposerRecord.invokeNativeDisp
ose ... JNI]
[Dynamic-linking native method sun.awt.image.JPEGImageDecoder.initIDs ... JNI]
[Dynamic-linking native method sun.awt.image.JPEGImageDecoder.readImage ... JNI]
[Dynamic-linking native method java.io.RandomAccessFile.writeBytes ... JNI]
[Dynamic-linking native method com.sun.media.sound.Platform.nGetExtraLibraries .
.. JNI]
[Dynamic-linking native method com.sun.media.sound.Platform.nIsBigEndian ... JNI
]
[Dynamic-linking native method com.sun.media.sound.Platform.nIsSigned8 ... JNI]
[Dynamic-linking native method com.sun.media.sound.Platform.nGetLibraryForFeatur
e ... JNI]
[Dynamic-linking native method com.sun.media.sound.PortMixerProvider.nGetNumDevi
ces ... JNI]
[Dynamic-linking native method com.sun.media.sound.PortMixerProvider.nNewPortMix
erInfo ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDeviceProvider.nGe
tNumDevices ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDeviceProvider.nNe
wDirectAudioDeviceInfo ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nGetFormats
... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nOpen ... J
NI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nGetBufferS
ize ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nGetBytePos
ition ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nStart ...
JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nRequiresSe
rvicing ... JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nService ..
. JNI]
[Dynamic-linking native method com.sun.media.sound.DirectAudioDevice.nAvailable
... JNI]
[Dynamic-linking native method java.io.FileOutputStream.open ... JNI]
[Dynamic-linking native method java.io.FileOutputStream.close0 ... JNI]
[Dynamic-linking native method jaclib.nanotime.QueryPerformanceCounter.init ...
JNI]
[Dynamic-linking native method jaclib.ping.IcmpService.available ... JNI]
[Dynamic-linking native method jaclib.ping.IcmpService.run ... JNI]
[Dynamic-linking native method jaclib.ping.Ping.init ... JNI]
[Dynamic-linking native method java.util.zip.CRC32.updateBytes ... JNI]
[Dynamic-linking native method sun.awt.windows.WToolkit.shutdown ... JNI]
[Dynamic-linking native method java.lang.Shutdown.halt0 ... JNI]
If you notice, there's a LOT of things that aren't actually done in Java itself. It's all done in C & C++ through JNI.
If go through the above results, you'll notice this section:
[Dynamic-linking native method sun.awt.windows.WWindowPeer.setMinSize ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.findHeavywei
ghtUnderCursor ... JNI]
[Dynamic-linking native method java.awt.event.MouseEvent.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.getLocationO
nScreen ... JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.getLocationOnScree
n ... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.getCursorPos
... JNI]
[Dynamic-linking native method sun.awt.windows.WGlobalCursorManager.setCursor ..
. JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initFlipBackbuffer
... JNI]
[Dynamic-linking native method sun.java2d.d3d.D3DSurfaceData.initTexture ... JNI
]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.getNati
veFocusOwner ... JNI]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.getNati
veFocusedWindow ... JNI]
[Dynamic-linking native method sun.awt.windows.WWindowPeer.requestWindowFocus ..
. JNI]
[Dynamic-linking native method java.awt.Event.initIDs ... JNI]
[Dynamic-linking native method sun.awt.windows.WKeyboardFocusManagerPeer.setNati
veFocusOwner ... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.createNativeContext
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getConversionStatus
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.getOpenStatus ... JN
I]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setConversionStatus
... JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setOpenStatus ... JN
I]
[Dynamic-linking native method sun.awt.windows.WInputMethod.enableNativeIME ...
JNI]
[Dynamic-linking native method sun.awt.windows.WInputMethod.setNativeLocale ...
JNI]
[Dynamic-linking native method sun.awt.windows.WComponentPeer.setFocus ... JNI]
[Dynamic-linking native method sun.awt.windows.WClipboard.init ... JNI]
Voila.. That's how it communicates with the OS about where the mouse should be or should move..
I think I've said a mouthful though.. you should have enough information by now.. I might have over done it :l
2014-08-23 16:10:15
From: freepeeg
Brandon - Thanks for your answer. So basically all i have to do is add an event listener to the top window, then send all types of events manually, record them, filter them, "replay" - dispatch them. Is that true?
JFrame implements an event listener, i filter them using IF ELSE logic , and dispatch them where? There are 2 windows , 3 including my canvas. So do i have to dispatch the events to the last child or the first child of the JFRAME windw when AppletStub is MDI with the JFRAME?
BTW, i know about virtual keys/events though i was talking from the side of RS development.
One thing that i didn't know is that you can make an application paint even when it's minimized, could you give me some resources on that?
Thanks for your answer.
2014-08-23 16:16:30
From: freepeeg
Brandon - Thanks for your answer. So basically all i have to do is add an event listener to the top window, then send all types of events manually, record them, filter them, "replay" - dispatch them. Is that true?
JFrame implements an event listener, i filter them using IF ELSE logic , and dispatch them where? There are 2 windows , 3 including my canvas. So do i have to dispatch the events to the last child or the first child of the JFRAME windw when AppletStub is MDI with the JFRAME?
BTW, i know about virtual keys/events though i was talking from the side of RS development.
One thing that i didn't know is that you can make an application paint even when it's minimized, could you give me some resources on that?
Thanks for your answer.
2014-08-23 16:34:44
From: Brandon
If you're talking about "BOTS" specifically for "RS" then the answer is no. You don't send the events to the frame. After all, applets can live in a browser and the events go straight to the applet (specifically the canvas) rather than the browser/frame.
So you won't be listening to the frame/window, you'd be adding a listener to the canvas, recording all the events that happen when you move/click/release your mouse.
Then you remove the listener and you can dispatch the same events you recorded to the canvas. ONE other option is to do what powerbot does and just replace the listeners of the canvas entirely with your own..
As for doing things when minimised, there's this thing called a "Real-Time Message-Loop".
In GUI programming, when a window is minimised, it can still receive events, it just doesn't paint to the screen because that'd be inefficient.
This is is shown here (Direct-X & OpenGL): http://www.directxtutorial.com/Lesson.aspx?lessonid=9-1-4
It can be done regardless of whether you're using Direct-X or OpenGL or Safe-mode. Now that's in C & C++. What about in Java?
Well.. It's the same thing. So long as you handle replacing the canvas (If it's not for RS or games, you'll need to handle the frame's minimising and maybe even use a thread for drawing). It doesn't have to draw to the screen but it can draw to a memory-buffer. SMART does it with a thread like so: https://github.com/BenLand100/SMART/blob/master/src/Client.java#L349
How does it do this? Well it replaces the Canvas with its own! https://github.com/BenLand100/SMART/blob/master/src/Canvas.java
And instead, the game will draw on SMART's buffers. SMART can then decide whether or not to draw that to the screen or feed it to simba or both! It is your buffer.
The thing about RS, is that it's a game. It HAS to have a real-time message-loop. So no matter what, the canvas will always have its graphics updated regardless of whether or not its minimised. The real question you should be asking is WHERE should it update? The screen? A buffer? What? The answer will always be a buffer. Screen and other things are optional. Look at the tutorials on replacing the RS canvas. Two methods will arise: Injection or XBootClassPath.
I don't have any resources handy atm.. I don't even know where some of my own posts are..
You can check on these forums for some other posts. There's tutorials on making bots, on how SMART works, etc.. Go through SMART's source, it has pretty good comments.
2014-08-23 16:37:13
From: Brandon
If you're talking about "BOTS" specifically for "RS" then the answer is no. You don't send the events to the frame. After all, applets can live in a browser and the events go straight to the applet (specifically the canvas) rather than the browser/frame.
So you won't be listening to the frame/window, you'd be adding a listener to the canvas, recording all the events that happen when you move/click/release your mouse.
Then you remove the listener and you can dispatch the same events you recorded to the canvas. ONE other option is to do what powerbot does and just replace the listeners of the canvas entirely with your own..
As for doing things when minimised, there's this thing called a "Real-Time Message-Loop".
In GUI programming, when a window is minimised, it can still receive events, it just doesn't paint to the screen because that'd be inefficient.
This is is shown here (Direct-X & OpenGL): http://www.directxtutorial.com/Lesson.aspx?lessonid=9-1-4
It can be done regardless of whether you're using Direct-X or OpenGL or Safe-mode. Now that's in C & C++. What about in Java?
Well.. It's the same thing. So long as you handle replacing the canvas (If it's not for RS or games, you'll need to handle the frame's minimising and maybe even use a thread for drawing). It doesn't have to draw to the screen but it can draw to a memory-buffer. SMART does it with a thread like so: https://github.com/BenLand100/SMART/blob/master/src/Client.java#L349
How does it do this? Well it replaces the Canvas with its own! https://github.com/BenLand100/SMART/blob/master/src/Canvas.java
And instead, the game will draw on SMART's buffers. SMART can then decide whether or not to draw that to the screen or feed it to simba or both! It is your buffer.
The thing about RS, is that it's a game. It HAS to have a real-time message-loop. So no matter what, the canvas will always have its graphics updated regardless of whether or not its minimised. The real question you should be asking is WHERE should it update? The screen? A buffer? What? The answer will always be a buffer. Screen and other things are optional. Look at the tutorials on replacing the RS canvas. Two methods will arise: Injection or XBootClassPath.
I don't have any resources handy atm.. I don't even know where some of my own posts are..
You can check on these forums for some other posts. There's tutorials on making bots, on how SMART works, etc.. Go through SMART's source, it has pretty good comments.
2014-08-24 08:00:26
2014-08-24 11:39:09
From: tristen8878
I know this is a little off topic but when you made your modified version of smart how did you stop smart from interfering with mouse clicks when smart was minimized as it can be a little annoying sometimes when your trying to do something on your computer.
2014-09-02 17:41:47
From: Brandon
I didn't use an event queue.. I used the listeners I wrote from: https://github.com/Brandon-T/Acid-Loader/tree/master/Acid/src/acid/events
and stopped Alt-Tabbing to gain focus.
The thread was here: https://villavu.com/forum/showthread.php?t=102735
but it's dead. SMARTv8.3 has almost everything it had + more. I don't have the source anymore.. well.. I do. I just don't know where I put it or on which computer. So.. I guess I don't.
2014-09-02 17:44:15
From: freepeeg
Hey Brandon, could you help me retrieve color info out of RS Canvas? All i get is screen filled black… Struggling for 5 days straight. I can give you teamviewer's info or skype. Thanks
2014-09-02 19:39:52
From: freepeeg
Hey Brandon, could you help me retrieve color info out of RS Canvas? All i get is screen filled black… Struggling for 5 days straight. I can give you teamviewer's info or skype. Thanks
2014-09-02 20:20:40
From: freepeeg
Hey Brandon, could you help me retrieve color info out of RS Canvas? All i get is screen filled black… Struggling for 5 days straight. I can give you teamviewer's info or skype. Thanks
2014-09-03 17:17:49
From: Brandon
It's easy actually.. Follow what NKN said here (on the last page): https://villavu.com/forum/showthread.php?t=103202 and read the the tutorial on that same link.. go through all the posts.. You'll have a better understanding of everything..
That tutorial is "outdated" slightly, but it actually will still work.. There are even better ways to make a client now.. That tutorial is meant as an "intro" and needs an update but it should help you from just reading the comments and the code.. You can design your client however you want..
You can for example load your applet by parsing: (what the official client does: http://runescape.com/jav_config.ws) instead of the way that tutorial shows (same way as SMART).. It makes no difference..
If you don't care about drawing on the client (like SMART's debug), just create a thread and call Canvas.getGraphics() in a while loop instead.. That will return a Graphics/Graphics2D and you can use that to get the underlying raster if you want to access each pixel.
Thread thread = new Thread(){
public void run(){
System.out.println("Thread Running");
while(true) {
System.out.println(client.getCanvas().getGraphics());
try {
this.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(BotTutorial.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
};
thread.start();
2014-09-03 17:30:13
From: NKN
Are you looking to do it with injecting or without?
If the above posts don't make things clear enough, I can go more in-depth.
2014-09-03 19:22:15
From: freepeeg
I've compiled your tutorial's source code and added additional thread in the main method that looks like that
In the debug window i get
sun.java2d.SunGraphics2D[font=javax.swing.plaf.FontUIResource[family=Dialog,name=Dialog,style=plain,size=12],color=sun.swing.PrintColorUIResource[r=51,g=51,b=51]]
How can i access each pixel?
2014-09-03 19:56:19
From: freepeeg
I've compiled your tutorial's source code and added additional thread in the main method that looks like that
In the debug window i get
sun.java2d.SunGraphics2D[font=javax.swing.plaf.FontUIResource[family=Dialog,name=Dialog,style=plain,size=12],color=sun.swing.PrintColorUIResource[r=51,g=51,b=51]]
How can i access each pixel?
public static void onPaint(Graphics g) {
try {
//internal api.. you want to stay away from this in the future as it could change..
sun.java2d.SurfaceData data = ((sun.java2d.SunGraphics2D) g).surfaceData;
java.lang.reflect.Field f = sun.awt.image.BufImgSurfaceData.class.getDeclaredField("bufImg");
f.setAccessible(true);
BufferedImage img = (BufferedImage) f.get(data);
byte[] pixels = ((java.awt.image.DataBufferByte) img.getRaster().getDataBuffer()).getData();
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
}
/**
g is the graphics device context for the debugImage.. use it to draw on your client.
gameImage is the image that the game draws on..
**/
public static void onPaint(Graphics g, BufferedImage gameImage) {
try {
byte[] pixels = ((java.awt.image.DataBufferByte) gameImage.getRaster().getDataBuffer()).getData(); //OR use a DataBufferInt.. up to you.
} catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
}