dll中函数的描述
function SendRcvB(pDataInput: LPSTR;
iDataInputLen: LongInt;
pDataOutput: LPSTR;
iDataOutputLen: LongInt): LongInt; stdcall;
pDataInput:传入参数,SSSS...ZZZZ
iDataInputLen:传入参数的长度
pDataOutput: 传出参数,RRRR...ZZZZ
iDataOutputLen:传出参数的长度
返回值:0:正常;-1:连接错误;-9:传入消息错误或者获取配置错误
jna中对应的定义
public String SendRcvB(String pDataInput,Integer iDataInputLen,String pDataOutput,Integer iDataOutputLen);
看到调用需要给 传出参数分配内存空间,java应该怎么写呢定义一个空的byte数组吗?
里边只给了Delphi的例子 GetMem(pDataOutput, 4096);
请问这个用java怎么写
已经找到了办法
使用byte[] output = new byte[4096];声明返回参数就可以了
Windows API函数 GetWindowText 就是传出 lpStr 类型的,所以你可以参考下面代码
https://cloud.tencent.com/developer/ask/143044
对 GetWindowText 的调用。