import com.sun.jna.Library; import com.sun.jna.Memory; import com.sun.jna.Native; import com.sun.jna.Pointer; public class Program { public interface TdxLibrary extends Library { public int Logon(String QS, String IP, short Port, String Version, short YybID, byte LoginMode, String AccountNo, String TradeAccount, String JyPassword, String TxPassword, byte[] ErrInfo); public void Logoff(int ClientID); public void QueryData(int ClientID, int Category, byte[] Result, byte[] ErrInfo); public void SendOrder(int ClientID, int Category, int PriceType, String Gddm, int Zhlb, String Zqdm, String Price, int Quantity, byte[] Result, byte[] ErrInfo); public void CancelOrder(int ClientID, String Gddm, int Zhlb, String hth, byte[] Result, byte[] ErrInfo); public void GetQuote(int ClientID, String Zqdm, byte[] Result, byte[] ErrInfo); public void Repay(int ClientID, String Amount, String OrderNo, byte[] Result, byte[] ErrInfo); public void GetTradableQuantity(int ClientID, int Category, int PriceType, String Gddm, int Zhlb, String Zqdm, String Price, byte[] Result, byte[] ErrInfo); } public static void main(String[] args) { try { //本软件详细信息请见网站 http://tdxjy.com/ //DLL是32位的,因此必须使用jdk32位开发,才能调用DLL; //必须把TJyaid.dll等全部DLL复制到jdk\bin目录下,类似C:\Program Files (x86)\Java\jdk-1.8\bin; //java工程必须添加引用 jna.jar, 在 https://github.com/twall/jna 下载 jna.jar //无论用什么语言编程,都必须仔细阅读VC版内的关于DLL导出函数的功能和参数含义说明,不仔细阅读完就提出问题者因时间精力所限,恕不解答。 byte[] Result=new byte[1024*1024]; byte[] ErrInfo=new byte[256]; System.setProperty("jna.encoding", "GBK"); TdxLibrary TdxLibrary1 = (TdxLibrary)Native.loadLibrary("TJyaid",TdxLibrary.class); //登录 int ClientID=TdxLibrary1.Logon("招商证券", "202.106.83.206", (short)443, "0", (short)0, (byte)9, "0109541703", "0109541703", "123456", "", ErrInfo); if (ClientID==-1) { System.out.println(Native.toString(ErrInfo, "GBK")); return; } System.out.println("登录成功"); //查询资金 TdxLibrary1.QueryData(ClientID, 0, Result, ErrInfo); System.out.println(Native.toString(Result, "GBK")); //注销 TdxLibrary1.Logoff(ClientID); System.out.println("end"); } catch(Exception e) { } } }