通过JNative调用SendMessage函数发送复制没有任何反映.

Taotesea 2013-11-23 12:25:46
通过JNative调用SendMessage函数发送复制没有任何反映.
问题出那里了,谢谢大家
已下是代码:
import org.xvolks.jnative.exceptions.NativeException;
import org.xvolks.jnative.misc.basicStructures.HWND;
import org.xvolks.jnative.misc.basicStructures.LPARAM;
import org.xvolks.jnative.misc.basicStructures.UINT;
import org.xvolks.jnative.misc.basicStructures.WPARAM;
import org.xvolks.jnative.util.User32;
import org.xvolks.jnative.util.constants.winuser.WM;


public class JNativeTest {
UINT m_uCopy;
LPARAM m_lCopy;
WPARAM m_wCopy;
int WM_COPY= 0x301;


private void initializtionProperty() {
m_uCopy=new UINT(WM_COPY);
m_lCopy= new LPARAM(0);
m_wCopy=new WPARAM(0);
}
public void _copy(){
try {
User32.SendMessage(User32.GetForegroundWindow(), m_uCopy, m_wCopy, m_lCopy);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (NativeException e) {
e.printStackTrace();
}
}
}
...全文
190 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Taotesea 2013-11-25
  • 打赏
  • 举报
回复
jnative是老外的,不过还是要谢谢
teemai 2013-11-25
  • 打赏
  • 举报
回复
引用 7 楼 taotesea 的回复:
对不起,如何看动态库报错.
找动态库提供者。
Taotesea 2013-11-25
  • 打赏
  • 举报
回复
对不起,如何看动态库报错.
teemai 2013-11-25
  • 打赏
  • 举报
回复
引用 5 楼 taotesea 的回复:
谢谢,我用的是eclipse工具,它并没有报错
eclipse又不会报动态库的错。不明白吗? 有可能是动态库报错了
Taotesea 2013-11-25
  • 打赏
  • 举报
回复
谢谢,我用的是eclipse工具,它并没有报错
teemai 2013-11-25
  • 打赏
  • 举报
回复
java端没反应,需要看下动态库方法是否有报错
Taotesea 2013-11-25
  • 打赏
  • 举报
回复
在顶一下............
Taotesea 2013-11-24
  • 打赏
  • 举报
回复
顶....................
Taotesea 2013-11-23
  • 打赏
  • 举报
回复
顶....................
准备工作: 1.编译JnativeCpp 2.将编译出来的libJNativeCpp.so,拷贝到/usr/lib/,同时执行chmod 555 libJNativeCpp.so 测试过程简介 1.c测试库libtest.so 环境:ubuntu10.4下 语言:c 编译库名称为:libtest.so 涉及文件:so_test.h test_a.c test_b.c test_c.c 终端执行命令:$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so 将编译得到到libtest.so拷贝到/usr/lib/,同时执行chmod 555 libtest.so 2.qt测试库libmylib.so 环境:ubuntu10.4下 语言:c 编译工具:qt Creator 编译库名称为:libmylib.so 将编译得到到libmylib.so拷贝到/usr/lib/,同时执行chmod 555 libmylib.so 3.编译环境安装 a.安装jdk 1.6 b.安装netBeans 6.8 c.创建javaApp工程 d.将JNative.jar添加到工程中 e.参考如下代码,编写后编译执行,并运行 import org.xvolks.jnative.JNative; import org.xvolks.jnative.Type; import org.xvolks.jnative.exceptions.NativeException; public class Main { public static void main(String[] args) throws NativeException, IllegalAccessException{ //纯c写到动态库 JNative clib = new JNative("libtest.so", "test_a"); //调用libtest.so下到test_a函数 clib.setRetVal(Type.STRING); //设置此函数的返回值 clib.invoke(); //函数执行 System.out.println(clib.getRetVal());//输出函数返回结果 //qt写到动态库 //以下部分使用qt编译到so,注意在函数声明前加 extern "C" //如extern "C" const char* getLocalHost(); JNative getstring = new JNative("libmylib.so", "getstring"); getstring.setRetVal(Type.STRING); getstring.invoke(); System.out.println(getstring.getRetVal()); } } 4.输出结果 this is in test_a... getstring hello .....

67,543

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧