`
alfusen
  • 浏览: 2776 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java调用WinIO

 
阅读更多
    项目需要对安全控件进行写入,之前第一想法就是用windows自带的user32.dll接口写入,该dll中有个神器方法key_event,可以对安全控件写入,但后来发现,有些安全控件的写入就不成功,由于之前没有这方面的经验,这个问题就放下了,一直没有处理。
    最近无意中在网上看到winIO输入,于是又重新对安全控件进行研究,过程中也遇到一堵堵墙,还好是解决问题了。
    winIO也是提供对window下的驱动级输入控件,有一套dll文件接口。java要对dll进行读写,就必须先导入dll。然后才能调用。在此我还用到了jNative.jar。jnative提供了一套简单的对dll进行访问的接口,使得对调用dll变的很方便。如:
   JNative jnative = new JNative("WinIo32","InitializeWinIo");
在构造一个JNative对象指明调用WinIo32.dll中的InitialLizeWinIo方法,接着设置jNative调用该方法需要传入的参数类型和参数值,最后调用invoke后就可以拿到返回结果。
   winIo在调用之前需要先载入dll,然后进行初始化,之前在进行初始化的时候总是不成功,绕了很多弯路,原来dll文件必须放到java的bin目录下,放在工程下是调用不成功的,切记。

    然后还有一些需要注意的就是,windows分32位和64位,winIO针对这个问题,也提供了32和64位的dll。不过我试了下,在64位的win7下也不是直接调用的winIo64,好像是通过winIo32再调用winIO64的,当时做了一些实验,我删除掉winIo32,调用就不能成功,必须同时把winIO32和winIO64放一起才能成功。当然这是什么原理,我不清楚。还有一个坑,64位windows下,dll必须签名,否则调用也不能成功,从提示信息可以看出来,大概意思是该dll没有签名,调用不安全之类的,当然我们没有签名也是可以调用的,我们只要开启windows测试模式,然后引入签名文件即可,当然这些做完之后要重启,否则不生效,之前不知道,使得我被这个问题也是折磨了很久(具体过程不详述了)。附件提供了dll相关文件(所有需要的文件都在里面了)
    到此为止,世界终于清静了。。。
 
分享到:
评论

相关推荐

    winio 源代码

    - **安全考虑**:直接访问硬件可能会导致系统不稳定,因此在编写使用WinIo的程序时,必须谨慎处理错误和异常情况。 3. **源代码分析**: - **结构设计**:源代码可能包括了设备句柄管理、I/O请求封装、内存映射...

    winio-demo:Winio演示

    JNI提供了一种方法,使得Java代码可以调用操作系统提供的API函数,例如Windows API,从而使用Winio的功能。在Winio-demo中,我们可以看到如何编写Java类,定义native方法,并在对应的C/C++代码中实现这些方法,以...

    WinIo驱动级模拟只适用于32+64位系统.rar

    3. **资料和介绍**:这部分可能包括了使用指南、API文档、示例代码等,帮助用户理解和使用WinIo。这些文件可能以文本、HTML或者PDF形式存在,提供详细的操作步骤和注意事项。 使用WinIo时,开发者需要注意以下几点...

    java控制windows鼠标键盘

    本项目名为"java控制windows鼠标键盘",旨在提供一个工具箱,允许开发者通过调用内部代码来实现对Windows系统鼠标和键盘的精确控制。 在Java中,我们可以使用Java AWT(Abstract Window Toolkit)和SWT(Standard ...

    键盘拦截与鼠标拦截

    - Winio.exe:可能是WinIO的示例程序或者测试工具,用于演示如何使用WinIO库进行I/O拦截。 - Winio.sys:这可能是一个系统驱动文件,实现了WinIO在内核模式下的功能,允许对硬件端口的直接访问。 - Winio.vxd:VxD...

    使用MVC框架开发租房网站4-5

    在本课程“使用MVC框架开发租房网站4-5”中,我们将深入探讨Java MVC框架在构建租房网站中的应用。北大青鸟ACCP6.0课程旨在帮助学员掌握实际项目开发技能,这部分内容将使你对Java Web开发有更深入的理解。 首先,...

    winio,selenium解决爬虫控件问题.zip

    如果您下载了本程序,但是该程序无法运行,或者您不会部署,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的...然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

    第4章 PC与PDA数据交互系统

    对于第3章和第7章: 在编译本章程序后,请将winio.dll、winio.vxd和winio.sys文件复制到可执行文件所在目录下, 否则WinIo库初始化函数initializeWinIO调用将会失败。

    游戏中可用的键盘消息的驱动级模拟程序

    驱动级模拟键盘的程序可能使用了WinIO来直接与键盘硬件通信,而非通过标准的用户模式API。 “模拟键盘”标签明确了这个程序的核心功能,即创建虚拟键盘输入,使得程序能够在没有实际物理键盘操作的情况下,也能模拟...

Global site tag (gtag.js) - Google Analytics