我有一个问题,我希望有人能给我建议!基本上在我的程序中,我将获取一个Windows文件夹、更改所有权、设置访问控制规则等,为此它使用非常普通的Java:Files.getFileAttributeView(target,AclFileAttributeView.class);当我想忘记一个目录时,问题就出现了,为此我想重新启用对父目录的继承并删除我所有的ACL规则。我可以删除规则并使用Java再次设置所有者,但看起来我必须本地设置继承标志...我想我可以像这样得到一个指向安全描述符的指针:Advapi32advapi32=Advapi32.INSTANCE;PointerByRefer
如何使用JNA4.5.0获取Java中所有正在运行的进程的列表?我已经尝试过这段代码:WinNTwinNT=(WinNT)Native.loadLibrary(WinNT.class,W32APIOptions.UNICODE_OPTIONS);winNT.HANDLEsnapshot=winNT.CreateToolhelp32Snapshot(Tlhelp32.TH32CS_SNAPPROCESS,newWinDef.DWORD(0));Thelp32.PROCESSENTRY32.ByReferenceprocessEntry=newTlhelp32.PROCESSENTRY32
我尝试使用JNA注入(inject)我自己的WndProc方法来捕获Java程序中的Windows消息。由于我只对几种消息类型感兴趣,因此我必须将消息转发到之前的WndProc。在我的测试中(Java1.7.0_03,64位,在Windows7上),一旦我将鼠标移到创建的窗口上,此转发似乎就会失败,并出现以下异常:com.sun.jna.LastErrorException:[2]Thesystemcannotfindthefilespecified.atcom.sun.jna.Native.invokeLong(NativeMethod)atcom.sun.jna.Function.
我正在尝试使用JNA从我的Java应用程序调用.dll文件。我收到以下异常:Exceptioninthread"main"java.lang.UnsatisfiedLinkError:Unabletoloadlibrary'C:\Windows\System32\foo.dll':Thespecifiedmodulecouldnotbefound.虽然我在64位Windows7PC上运行它,但.dll和我的jdk都是32位的(OS_ARCH="i586")。.dll位于System32文件夹中。我正在使用Eclipse并将System32文件夹添加到Java构建路径属性中库选项卡下JR
我正在尝试将应用程序切换器添加到我正在处理的更大项目中。它需要在WindowsXP/Vista/7/8上运行。我正在使用Java1.7。下面是我创建的示例应用程序,用于演示我遇到的一些问题。我是JNA的新手。非常感谢'HovercraftFullofEels'的thisanswer(以及许多其他!)构成测试应用程序的基础。这是我的问题:图像绘制-我从窗口图标中获取的图像是黑白绘制的。我从thisanswer修改了getImageForWindow中的代码麦克道尔(谢谢!)。有没有更好的方法将HICON对象转换为java.awt.Image?我注意到com.sun.jna.platfor
我正在尝试编写一些通过JNA执行等待的代码(例如,通过调用Kernel32函数WaitForSingleObject),但我也希望在调用Thread.interrupt()时等待完成;我假设Java使用类似Event对象的东西来实现中断;有什么方法可以从Java获取事件以便在调用WaitForMultipleObjects时使用它?或者,如果线程中断,我是否可以通过其他方式安排等待完成? 最佳答案 Java通过NIO支持它,很少有人知道,有问题的类是抽象的,但这不是问题:java.nio.channels.spi.AbstractI
我一直在研究为特定流程获取以下数据的最佳方法:CPU使用率内存使用情况磁盘使用情况网络使用情况我决定使用OSHI(操作系统和硬件信息)API。对我来说不幸的是,这个API没有给我所需的开箱即用信息,它需要一些关于如何计算的基本知识,例如每个进程的cpu使用率。我的问题是:如何通过进程ID获取内存、磁盘、网络使用情况?使用以下每个进程的cpu使用数据示例例如:获取claculator.exe运行进程的实际CPU使用率:importoshi.SystemInfo;importoshi.hardware.CentralProcessor;importoshi.software.os.OSPr
我正在尝试构建一个Java应用程序来读取笔记本电脑电池的状态,并在电量不足时向用户发送通知。为了做到这一点,我将jna与Kernel32native库一起使用,如本问题的第一个答案中所述:HowtogettheremainingbatterylifeinaWindowssystem?运行示例,程序产生以下输出:ACLineStatus:OfflineBatteryFlag:High,morethan66percentBatteryLife:UnknownBatteryLeft:0secondsBatteryFull:10832seconds电池生命周期和电池剩余字段在Kernel32B
我一直在玩弄JNA,并且能够使用下面的代码返回Windows服务的状态(即启动或停止)。我不确定如何返回服务的启动类型。我确信JNA之外还有其他方法,但如果可能的话,我想继续使用JNA。importcom.sun.jna.*;importcom.sun.jna.Library.Handler;importcom.sun.jna.platform.win32.*;importcom.sun.jna.platform.win32.Advapi32Util.*;importcom.sun.jna.platform.win32.WinNT.*;importcom.sun.jna.ptr.Int
我正在尝试使用JNA返回特定Windows进程的详细信息。不确定如何执行此操作。在互联网上找不到太多帮助。我想返回的一些信息包括CPU和内存使用情况。下面只是我找到的一个例子。importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.DataInputStream;importjava.io.FileInputStream;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStreamReader;importc