Java win32 库/api

2024-01-29

是否有合适的 Java win32 库,例如,显示当前进程、查找进程占用的端口号等? (或者像 WMI 库之类的东西?)


看一下JNA https://github.com/twall/jna/。这是与本机代码通信的 100% 纯 java 方式。

他们有一个名为平台.jar https://github.com/twall/jna/#platform其中封装了一些最常见的原生API。

虽然我知道它是什么,但我没有使用过平台,所以我无法指出你在哪里可以找到你要找的东西。但根据我的全球 JNA 经验,这应该会有所帮助很多 !!!

(回答结束)


对于那些想知道它是如何工作的人(在他们的主页上有解释)......好吧,假设他们已经为您处理了本机部分,以便您可以专注于 java 端。 主库 (jna.jar) 捆绑了许多用于主要操作系统/体系结构的本机库(.dll、.so、.dylib)以及操作它们的 java 端(这解释了 jar 的大小:~ 1 Mo)。

当您想使用包含以下内容的多操作系统库名称“A.dll”、“A.so”或“libA.dylib”时:

int doSomething(char* aString ,byte* aByteArray, long* arraySize)

只需编写以下内容,JNA 将完成剩下的工作:

public class LibAWrapper{
  //tell JNA to link with native library
  Native.register("A");
  //Type mapping in java 
  public native int doSomething(String aString ,byte[] aByteArray, NativeLongByReference arraySize)
}

并使用它:

new LibAWrapper().doSomething("Hello World",....

这意味着如果 Platform.jar 不适合您的需求,您应该可以轻松地围绕您想要的本机库编写包装器

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java win32 库/api 的相关文章

随机推荐

  • Angular 6 后续:选项值中的 [attr.disabled] 禁用所有条目

    主题 Angular 6 反应式表单 下拉菜单 禁用一个选项 即使检查员说disabled false 所有而不是仅一个预期值都被禁用 人们之前非常友善地帮助我解决了我的问题 Angular 6 Reactive Form 选择选项 禁用之
  • Filepicker.io Web - 禁用内联样式

    我在为网络设计 filepicker io 小部件时遇到一些麻烦 特别是filepicker dragdrop 有什么方法可以禁用内联样式并将其替换为类吗 就像是data fp disable styles或者也许在使用时data fp d
  • 如何强制 Swift 可选数组(很好)

    使用斯威夫特 2 1 我正在寻找一种好方法将非可选类型数组分配给可选类型数组 其中类型相同 以下是我尝试过的一些方法 var foos Int let bars Int foos bars Error Cannot assign value
  • 红宝石中的“$:”是什么?

    通常可以在 gemspec 文件中看到 例如 i18n gemspec https github com svenfuchs i18n blob master i18n gemspec lt lt File expand path lib
  • 硒等待两个元素之一出现

    很多时候我希望网络驱动程序等待两个元素之一的存在 通常 当我期望页面在某些情况下显示元素 1 或元素 2 时 就会发生这种情况 目前 我正在使用两次等待顺序执行此操作 但效率很低 因为我需要等待 2 次 有什么办法可以将两种等待合二为一吗
  • 使用 LINQ 将数据插入到使用序列作为主键生成器的表中

    我有一个表 它根据序列生成主键 从 0 开始计数 CREATE TABLE dbo testTable id int NOT NULL a int NOT NULL CONSTRAINT PK testTable PRIMARY KEY C
  • 如何将 Z3 与 C++ 结合使用

    我想将 Z3 与 C 一起使用 并且我遵循了安装指南 使用 Visual Studio 命令提示符在 Windows 上构建 Z3 https github com Z3Prover z3 building z3 on windows us
  • Webmatrix 布局——插入头部?

    我使用 Asp Net 和 Razor 视图引擎创建了一个网站 与使用 WebMatrix 相同 到目前为止 我一直在使用 SQL 直接查询数据库 但现在我有一个页面需要查询返回 XML 的 WCF 服务 让它返回 JSON 或 ODATA
  • 在 SQLAlchemy 中使用 declarative_base 时,如何根据需要绑定引擎?

    这是我的代码 from sqlalchemy import create engine Column Integer from sqlalchemy ext declarative import declarative base from
  • 如何在 postgresql 中找到列中的最大值?

    例如 name weight jon 100 jane 120 joe 130 如何只返回权重最大的人的名字 SELECT name FROM tbl ORDER BY weight DESC LIMIT 1 比其他答案性能更高 并且仅产生
  • 2013 年我应该使用 HTML5 编写我的网站吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 验证日期模式

    我需要一个 javascript 方法来验证日期模式 如下所示 2012 年 1 月 14 日 到目前为止 我不确定该模式使用哪个正则表达式 因为它不是标准日期 例如 14 01 2012 或 01 14 2012 或 01 04 2012
  • 为什么 jqueryUI datepicker 会抛出错误?

    我正在尝试 jqueryUI 但 firebug 在该脚本上捕获以下错误 function date datepicker 萤火虫错误如下 date datepicker is not a function 在我的 html 上 日期 id
  • 启发式和元启发式有什么区别?

    经过对算法的一些研究后 我发现了两个令我困惑的术语 我读过至少 20 篇论文 但都没有任何明确的定义 我希望有人能帮助我区分启发式算法和元启发式算法之间的区别 如果可能的话 添加它的来源 ps 我已经知道这些词的含义 但我不知道它们在计算机
  • 如何将旋转器数据从一个活动传递到另一个活动?

    此代码不会从微调器读取值 它始终只读取第一个值 btnResult setOnClickListener new View OnClickListener final String USN spnConversions getSelecte
  • 在 Visual Studio 中设置 FILE_ATTRIBUTE_DEVICE

    我想知道是否可以在 Visual C 中调用 CreateFile 函数来创建属性为 FILE ATTRIBUTE DEVICE 0x00000040 十六进制 64 十进制 的文件 根据 MSDN API FILE ATTRIBUTE D
  • Laravel 4 - 使用 hasMany 关系时插入多条记录

    仍在适应 Laravel 4 我有点不确定为什么这不起作用 在 L3 中 我能够将多条记录插入到表中 如下所示 comments array array message gt A new comment array message gt A
  • 依赖项规范必须是字符串或映射

    pubspec yaml 第 32 行第 5 列出错 依赖项规范必须是字符串或映射 32 assets 33 酒吧失败 65 问题是我的资产文件夹位于错误的位置 它不应该处于依赖关系下 另外 assets 前必须加2个空格 如图
  • Swift 中的属性和变量有什​​么区别?

    从一些最初的教程中 我看到属性属于一个类 本质上是 C 世界中使用的 全局变量 几年前编码 我还认为变量更多的是仅在方法中使用 存储信息的 本地 实体 然后我看到了 Quora 的这个帖子 https www quora com Apple
  • Java win32 库/api

    是否有合适的 Java win32 库 例如 显示当前进程 查找进程占用的端口号等 或者像 WMI 库之类的东西 看一下JNA https github com twall jna 这是与本机代码通信的 100 纯 java 方式 他们有一