gpt4 book ai didi

java - 从 Java 调用 Windows 颜色系统

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:40 25 4
gpt4 key购买 nike

我需要从 Java 调用 Windows 颜色系统函数。正在关注this tutorial我尝试使用 Java Native Access 调用 DLL 函数。本教程中的所有示例都运行良好。当我尝试加载和使用 Mscms.dll (WCS 库之一)时,DLL 似乎已成功加载,但我无法调用任何函数。函数列表为 here .

我收到一条消息:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'GetColorDirectory'

我的代码有什么问题吗?你能帮我一下吗?

import com.sun.jna.Library;
import com.sun.jna.Native;

public class WCS_test {

public interface Mscms extends Library {
// http://msdn.microsoft.com/en-us/library/dd316928%28v=vs.85%29.aspx
boolean GetColorDirectory(String pMachineName, String[] pBuffer, int pdwSize);
}

private static Mscms mscms = (Mscms) Native.loadLibrary("C:/Windows/system32/Mscms.dll", Mscms.class);

public static void main(String[] args) {

if (mscms != null)
System.out.println("Library loaded\n");
else
System.err.println("Library loading error\n");

String[] pBuffer = new String[1024];
mscms.GetColorDirectory(null, pBuffer, pBuffer.length);
}
}

最佳答案

当您收到 java.lang.UnsatisfiedLinkError 时,这意味着它无法在 Mscms.dll 中找到函数“GetColorDirectory”。查看源代码中的链接 http://msdn.microsoft.com/en-us/library/dd316928%28v=vs.85%29.aspx您应该尝试 Unicode 名称 GetColorDirectoryW。

关于java - 从 Java 调用 Windows 颜色系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24841626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com