jnativeµ÷ÓÃdelphiµÄDLLÎļþ
1.ÏÂÔØJNativeµÄ°ü
JNative-1.3.2ÏÂÓÐÈý¸öÎļþ£ºJNativeCpp.dll£¬libJNativeCpp.so£¬JNative.jar¡£
JNativeCpp.dll¿½µ½windows/system32Ŀ¼ÏÂ
libJNativeCpp.soΪLinuxÖÐʹÓõÄÎļþ
JNative.jarÀ©Õ¹°ü¿½µ½%JAVA_HOME%\jre\lib\extÏ»òÕßµ¼Èëµ½¹¤³ÌÖÐ
2.JnativeÖÐʹÓõ½µÄһЩÀàºÍ·½·¨
org
.xvolks
.jnative
.Jnative
: ×°ÔØdllÎļþ£¬¶¨Î»º¯Êý Èç:Jnative native=new Jnative("dllName");
JNative
(),setParameter(),setRetVal(),getRetVal()
etc.
org
.xvolks
.jnative
.pointers
.Pointer: Ìæ´ú±¾µØº¯ÊýÖеĵÄÖ¸Õ룬ÐèÒªÏÈÉêÇëÒ»¿éÄÚ´æ¿Õ¼ä£¬²ÅÄÜ´´½¨,Ò»°ãʹÓÃMemoryBlockFactory
ÀûÓù¤³§Ä£Ê½½øÐд´½¨.
Pointer()£¬dispose()
org
.xvolks
.jnative
.pointers
.memory
.MemoryBlockFactory : ÉêÇëÒ»¿éÄÚ´æ¿Õ¼ä
createMemoryBlock()
org
.xvolks
.jnative
.exceptions.NativeException
: Å׳ö×°ÔØ£¬¶¨Î»µÈ·½ÃæµÄÒì³£
org
.xvolks
.jnative
.Type
: Áоٺ͹ÜÀíJnative
ÐèÒªµÄ²»Í¬µÄÊý¾ÝÀà,Ò»°ãÐèÒª´«ÖµµÄʱºòÖ¸¶¨Ëù´«ÖµµÄÀàÐͺͺ¯ÊýµÄ·µ»ØÖµ
3.ʹÓ÷½·¨
3.1.
¼ÓÔØdllÎļþ
JNative¿ÉʹÓÃÁ½ÖÖ·½Ê½¼ÓÔØdllÎļþ£º
ʹÓÃSystem.loadLibrary
¼ÓÔØ
ʹÓô˷½·¨¿É¼ÓÔØÏµÍ³Ä¿Â¼ÖеÄdllÎļþ¡£¿ÉÒÔÏȰÑdllÎļþ¸´ÖƵ½system32
Ŀ¼Ï£¬Ê¹ÓÃÎļþǰ׺Ãû×÷Ϊ²ÎÊýÀ´¼ÓÔØdllÎļþ¡£
ʹÓÃSystem.load
¼ÓÔØ
´Ë·½·¨²ÎÊýΪdllÎļþȫ·¾¶Ãû¡£
3.2.
µ÷Óú¯Êý
1¡¢Ê×ÏÈ´´½¨JNative¶ÔÏó£º
JNative jnative = new
JNative(dllÎļþÃû, º¯ÊýÃû);
2¡¢ÉèÖ÷µ»ØÖµÀàÐÍ£º
jnative.setRetVal(Type.INT);
3¡¢ÉèÖòÎÊý
jnative.setParameter(0,
Type.STRING, …); //ÉèÖõÚÒ»¸ö²ÎÊýΪ×Ö·û´®
jnative.setParameter(1,
Type.INT, String.valueof(…)); //ÉèÖõڶþ¸ö²ÎÊýΪÕûÊý
4¡¢Ö´ÐÐ
n.invoke();
5¡¢»ñÈ¡·µ»ØÖµ
Integer.parseInt(jnative.getRetVal());
4.Ò»¸ö¼òµ¥µÄÀý×Ó£º
import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;
public class JNativeTest {
public static final int messageBox(int parentHandle, String
message,
&nb
Ïà¹ØÎĵµ£º
ÈçºÎÔÚDelphiÀïÃæÀûÓÃWordµÄVBA´úÂë½øÐÐһЩ×ܽᡣ
1¡¢ Éú³ÉVBA´úÂë¡£Word±¾Éí¾ßÓкÜÇ¿µÄ¿ÉÀ©Õ¹ÐÔ£¬ÓÈÆäÊÇÖ§³ÖÓû§×Ô¶¨Ò幦ÄÜ£¬ÆäʵÏÖ
µÄÖ÷Òª·½Ê½¾ÍÊÇͨ¹ýVBA´úÂëÀ´ÊµÏֵġ£ÔÚ“¹¤¾ß->ºê->Visual Basic±à¼Æ÷”ÀïÃæ¾Í¿ÉÒÔ¿´
µ½¾ßÌåµÄºê´úÂ룬¿ÉÒÔÖ±½Ó½øÐб༡£¶øÇÒ»¹¿ÉÒÔʹÓÃÂ¼ÖÆºêµÄ¹¦ÄÜ×Ô¶¯ ......
VCLÖеÄShapeÊǸöºÜ²»´íµÄ¿Ø¼þ£¬¿ÉÒÔÑ¡Ôñ¼¸ÖÖͼÐΣ¬ÒÔÂú×ãÎÒÃǵÄÐèÇ󣬵«ÓÐʱºò¾ÍÊǾõµÃËüµÄ¿ÉѡͼÐÎÉÙÁËÒ»µã£¬±ÈÈçÎÒÃÇÏëÒªÒ»¸öÈý½ÇÐΣ¬ËüȴûÓС£ÓÚÊǾÍÏëµ½À´À©Õ¹Ò»ÏÂÕâ¸ö¿Ø¼þ£¬ÃûΪShapeEx¡£ÆäʵÀ©Õ¹µÄ¹¦Äܲ»¶à£¬Ö»ÊÇÔö¼ÓÁËһЩͼÐΡ£¶øÀàÒ²²¢²»ÊǼ̳Ð×ÔTShape£¬¶øÊǼ̳Ð×ÔTGraphicControl£¬ÕâÑù¿ÉÒÔÈÃÎÒÃdz¹µ×¿´¿´Í¼ÐÎ ......
ÕÐÆ¸ÈËÊý£º 4ÈË
ѧÀúÒªÇó£º ²»ÏÞ
¹¤×÷ÄêÏÞ£º ²»ÏÞ
н×Ê·¶Î§£º ÃæÒé
¹¤×÷µØµã£º ±±¾©Í¨ÖݾſÃÊ÷
Delphi³ÌÐòÔ±ËÄÃûְλҪÇó
񻂗:
1. ÊìÁ·Ê¹ÓÃDELPHI(C,C++, C#µÈ)½øÐпª·¢£»
2. ¾ßÓÐÁ¼ºÃµÄ³ÌÐò±àдϰ¹ß£»
3. ÔúʵµÄ»ù±¾¹¦£¬½á¹¹ÇåÎú¡¢ºÏÀí£»
4. Á¼ºÃµÄÖ´ÐÐÄÜÁ¦£¬½ÏºÃµÄÍê³ÉÔ¤¶¨ÈÎÎñ£»
5. ÉϽøÐÄÇ¿£¬ÄܳԿ ......
×÷Õß: yangyxd ×ªÔØÇë×¢Ã÷³ö´¦ http://hi.baidu.com/yangyxd 2009-3-12
ÂÛ̳ÀïÓйØÓÚHOOK APIµÄÌù×Ó£¬ µ«ÆäʵÏÖÔÚ·½Ê½ÏÔʾµÃÂé·³£¬ ÆäʵÏÖÔÚÀ¹½ØAPIÒ»°ã²»ÓÃÄÇÖÖ·½Ê½£¬ ´ó¶¼²ÉÓÃinline Hook API·½Ê½¡£ÆäʵҲ¾ÍÊÇÖ±½ÓÐÞ¸ÄÁËÒªÀ¹½ØµÄAPIÔ´ÂëµÄÍ·²¿£¬ÈÃËüÎÞÌõ¼þÌø×ªµ½ÎÒÃÇ× ......
ÒýÓÃ×Ô£ºhttp://www.delphifans.com/infoview/Article_6445.html
Delphi ¹Ø¼ü×ÖÏê½â
absolute
//ËüʹµÃÄãÄܹ»´´½¨Ò»¸öбäÁ¿, ²¢ÇҸñäÁ¿µÄÆðʼµØÖ·ÓëÁíÒ»¸ö±äÁ¿Ïàͬ.
var
Str: string[32];
StrLen: Byte absolute Str;
//Õâ¸öÉùÃ÷Ö¸¶¨Á˱äÁ¿StrLenÆðʼµØÖ·ÓëStrÏàͬ.
//ÓÉÓÚ×Ö·û´®µÄµÚ0¸öλ ......